2014-01-26 96 views
0

我有此数组:PHP - 从多维数组某些数组复制到另一个新的阵列

Array ( 
[0] => Array ([0] => b [1] => d [2] => c [3] =>a [4] =>) 

[1] => Array ([0] => c [1] => a [2] => d [3] => [4] =>) 

[2] => Array ([0] => b [1] => d [2] => a [3] => [4] =>) 

[3] => Array ([0] => a [1] => d [2] => c [3] =>b [4] =>) 

) 

,并想知道我是否可以从复制所有内部阵列到另一个数组,其中第一个元素是“B”所以它看起来像。新阵列在创建时是否会重新编制索引?谢谢。

Array ( 
[0] => Array ([0] => b [1] => d [2] => c [3] =>a [4] =>) 

[1] => Array ([0] => b [1] => d [2] => a [3] => [4] =>) 

) 

回答

3

UPDATE:在我的代码有一个小错误。如果您仍然需要它,现在它已经修复并正在工作。

$firstArray = array (array ('b', 'd', 'c', 'a'), 
        array ('c', 'd', 'a', 'b'), 
        array ('b', 'd', 'a', 'c'), 
        array ('a', 'd', 'c', 'b')); 

$secondArray = array(); 

foreach($firstArray as $sub) { 

    if($sub[0] == 'b') { 

     $secondArray[] = $sub; 
    } 
} 

print_r($secondArray); 

输出:

Array ([0] => Array ([0] => b [1] => d [2] => c [3] => a) 
     [1] => Array ([0] => b [1] => d [2] => a [3] => c)) 
+0

我使用:的foreach($ firstArray为$子=> $值),并检查$值[0],而不是$子[0] ,以及$ secondArray [] = $ sub [0];并保存了第一个元素! $ sub真的是完整的数组!卫生署!欣赏它! – FartMachine4U

1
function check($val) { 
    return ($val[0] == 'b'); 
} 
$secondArray = array_filter($firstArray, "check"); 
相关问题