У меня есть массив:
$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 к значению $. Итак, возвращается:
Book1 => [0]'Book1details'
Book2 => [0]'Book1details' [1]'Book2details'
Book3 => [0]'Book1details' [1]'Book2details' [2] 'Book3details'
и т. Д.
Я хочу быть в состоянии сделать:
array_push($BookArray, $key=>$value);
но, очевидно, это невозможно.
Есть идеи? Даже если это просто какая функция массива мне нужна.