【发布时间】:2011-08-13 22:57:37
【问题描述】:
我有一个数组:
$array= array(
'Book1' => array('http://www.google.com', '45' ),
'Book2' => array('http://www.yahoo.com', '46',
'Book3' => array('http://www.excite.com', '47', )
并且正在尝试编写一个函数,您可以在其中搜索并返回 $keys 和 $values 完整的数组。因此,如果有人在哪里搜索“'Book1','Book2',那么他们会得到一个数组:
$results = array( 'Book1' => array('http://www.google.com', '45' ),
'Book2' => array('http://www.yahoo.com', '46',))
这个:
$bookArray = array()
$bookDetailsarray = array();
$needles = array('book1' , 'book2' );
foreach ($needles as $needle) {
foreach ($array as $key => $value)
{
if ($key == $needle)
{
array_push($BookArray, $key);
array_push($bookDetailsarray, $value);
array_push($bookArray, $bookDetailsarray);
}
}
}
}
这可行,但在 foreach 的每次迭代中,它都会不断将 $bookDetailsaray 添加到 $value。所以它返回:
Book1 => [0]'Book1details'
Book2 => [0]'Book1details' [1]'Book2details'
Book3 => [0]'Book1details' [1]'Book2details' [2] 'Book3details'
等等。
我希望能够做到:
array_push($BookArray, $key=>$value);
但显然那是不可能的。 有任何想法吗?即使它只是我需要的数组函数。
【问题讨论】: