在PHP函数中添加数组内的数组

时间:2010-04-07 10:33:18

标签: php arrays

我在PHP中创建了一个函数,它调用web服务并解析结果,将值赋值给变量并将它们作为数组返回。这一切都很完美,但我遇到了需要在我的阵列中有一个“数组”

我正在分配如下的值:

$productName = $product->Name;
$productID = $product->ID;

$productArray = array(
            'productName' => "$productName",
            'productID' => "$productID"
            );

return $productArray;

但是我现在有一个数据返回多个结果所以我需要一个额外的数组来存储这些数据,我使用foreach循环从返回的XML中获取值,但是我希望能够使用名称将它们添加到数组中,以便我可以在返回的数据中引用它们,这是我遇到问题的地方......

$bestForLists = $product->BestFors;
        foreach( $bestForLists as $bestForList )
        {  
            $productBestFors = $bestForList->BestFor; 
            foreach( $productBestFors as $productBestFor )
                {
                    $productBestForName = $productBestFor->Name;
                    $productBestForID = $productBestFor->ID;
                }
        }

我尝试使用以下代码为这些创建数组:

$bestForArray[] = (array(
                "productBestForID" => "$productBestForID",
                "productBestForName" => "$productBestForName"
                ));

最后将这些合并在一起:

$productArray= array_merge($productArray,$bestForArray);

如果我打印出我得到的返回值:

Array ( [productName] => Test Product [productID] => 14128 [0] => Array ( [productBestForID] => 56647 [productBestForName] => Lighting ) [1] => Array ( [productBestForID] => 56648 [productBestForName] => Sound ) )            

我想给内部Array一个名字,以便我可以在我的代码中引用它,或者有更好的方法来实现这一点,目前我在PHP页面中使用以下内容来获取值:

$productName = $functionReturnedValues['productName']; 

我想使用以下内容来访问我可以循环遍历的数组:

$bestForArray = $functionReturnedValues['bestForArray']; 

希望有人可以提供帮助

1 个答案:

答案 0 :(得分:3)

你可以写

$productArray['bestForArray'] = $bestForArray;

而不是

$productArray= array_merge($productArray,$bestForArray);

告诉我这是否有效! 杰罗姆瓦格纳