2015-12-07 2 views
1

Как я могу нарезать массив с помощью другого булевого массива в PHP?Режущие массивы в PHP

<?php 

$arr=array(0=>12,1=>'name',2=>1.21,4=>'color'); 
$select=array(1=>true,2=>true,3=>true,4=>false); 

//$new=$arr[$select]; 

?> 

В Python это просто, но могу ли я это сделать и в PHP?

+2

Используя [array_slice()] (http://www.php.net/manual/en/function.array-slice.php) возможно ? –

+0

Итак, вы хотите сохранить элементы из '$ arr', где соответствующее значение key => в' $ select' истинно? – Rizier123

+0

@Mark Baker функция array_slice() принимает только один массив в качестве аргумента .. но у меня есть два массива. – Andy

ответ

0

Эти строки возвращают ассоциативный массив, который я хочу:

$filter=array_filter($select); 
$new=array_intersect_key($arr,$filter); 
var_dump($new); 
Смежные вопросы