【发布时间】:2012-02-10 17:48:43
【问题描述】:
我在从格式如下的数组中获取值时遇到问题:
array(
[key]=>array(
[0]=>value
[1]=>value
[2]=>value)
[key]=>array(
[0]=>value
[1]=>value))
我正在使用队列将每个键作为队列项运行并处理信息。所以要创建队列项目,我已经尝试过:
while ($array = $result->fetchAssoc())
{
$queue->createItem($array);
}
这无法创建任何项目,所以我改用了这个方法
if ($array != 0 || $array != NULL) {
foreach ($array as $row) {
$queue->createItem($row);
}
}
创建队列项目后,队列调用一个传递队列 $item 的函数,这就是我遇到问题的地方,因为我可以成功获取第二级数组的所有值,但我无法访问第一级的键.
function work_function($item){
foreach($item as $row=>$job){
//do something
}
}
在我尝试过的函数中:
//1
$arrayKEY= $item;
//2
foreach($item as $row){
$arrayKEY= $row;
}
我只是无法获得所需的值。我做错了什么/我可以做些什么来完成这个?
谢谢
【问题讨论】:
-
@user975044。 $queue 的定义更简单吗?具体是哪个Php对象?
-
好的,特别是对于我正在使用的我的情况:api.drupal.org/api/drupal/modules--system--system.api.php/… 糟糕的文档虽然.. Drupal 我知道.. 但这对问题无关紧要。队列基本上是将对象加载到要处理的容器或行中的一种方式。因此,如果我希望通过相同的函数按该顺序处理数字 1、2、3、4,我可以为每个数字创建一个队列对象。所以在队列中我有 4 个对象,它们依次包含数字 1、2、3、4。
-
要开始处理队列,第一个对象(编号为 1)会从队列中拉出并进行处理。我不应该提到这一点,因为它确实没有引起这里的问题。它能够访问函数中的数组键和值
-
@user975044:我们都知道队列是什么,我们正在询问您的
$queue对象具体是什么。
标签: php arrays drupal for-loop