Уже поздно, и я знаю, что это очень простой вопрос, но прямо сейчас у меня нет идеи, и крайний срок близок.
У меня два массива:
$array1 = array( 'a' => 'asdasd', 'b' => 'gtrgrtg', 'c' => 'fwefwefw', 'd' => 'trhrtgr', ); $array2 = array( 'b', 'c' );
Каково было имя функции для получения части массива-помощника по ключам из второго массива?
$result = array( 'b' => 'gtrgrtg', 'c' => 'fwefwefw', );
Благодаря !
Попробуй это:
array_intersect_key($array1, array_flip($array2)).
Я думаю, что нет такой функции, поэтому я буду ее реализовывать:
function array_filter_keys($array, $keys) { $newarray = array(); foreach ($keys as $key) { if (array_key_exists($key, $array)) $newarray[$key] = $array[$key]; } return $newarray; }
Мне любопытно посмотреть, есть ли встроенная функция, которая делает это. Вот как я это сделаю.
$result = array(); foreach ($array2 as $key) { if (array_key_exists($key, $array1) { $result[$key] = $array1[$key]; } }