gpt4 book ai didi

PHP 数组差异 - 由循环生成与逗号分隔字符串生成

转载 作者:行者123 更新时间:2023-11-29 14:48:19 25 4
gpt4 key购买 nike

我正在使用 jQuery Autocomplete (http://code.google.com/p/jquery-autocomplete/),并且在使用由 MySQL 调用生成的数组时遇到一些问题。在 PHP 中使用字符串创建的数组与在循环中创建的数组之间有根本区别吗?

例如,如果我使用字符串创建数组(如示例所示),则一切正常。即:

$items = array(
"Great Bittern" => "Botaurus stellaris",
"Little Grebe" => "Tachybaptus ruficollis")

当我如下创建数组时,似乎该数组无法识别,或者数组中的数据可能不可搜索:

$items = array();
$query = mysql_query("MY QUERY");
while ($row = mysql_fetch_array($query))
{
array_push($data, $row['name']);
}

是否是因为MySQL调用是在包含它的php文件加载之后进行的?我已经尝试了很多在循环中创建数组的变体,但没有一个起作用。

预先感谢您的任何建议或提示。把我的头发拉出来!

最佳答案

你的两个例子做了根本不同的事情。

在第一个示例中,您拥有大多数语言所称的“哈希”或“映射”;将一个字符串映射到另一个字符串的一系列键/值对。 “Great Bittern”将是关键,“Botaurus stellaris”将是相应的值。

在第二个中,您有一个更传统的带有顺序键的数字索引数组。没有什么可以阻止您按照第一个示例中的方式创建 map ,您只需显式指定字符串键而不是使用 array_push 即可。如果您的查询返回两个关联的值,您将执行类似的操作

$data[$row['key']] = $row['value'];

您使用哪种方法取决于您的 jQuery 插件期望接收哪种数据。它需要一个键/值映射,还是一个值数组?

关于PHP 数组差异 - 由循环生成与逗号分隔字符串生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6373178/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com