划分多维数组

时间:2013-02-13 01:33:28

标签: php arrays

我有一个初始数组:

array
( [no] => array 
          (
             [<30] => 3
             [>30] => 5
             [>50] => 2
          )
  [yes] => array
          (
             [<30] => 4
             [>30] => 2
             [>50] => 7
          ) 
  [maybe] => array
          (
             [<30] => 7
             [>30] => 9
             [>50] => 10
          ) 
)

是否可以将上述数组拆分为多个数组变量。如:

$yes = array(3,5,2);
$no = array(4,2,7);
$maybe = array(7,9,10);

4 个答案:

答案 0 :(得分:1)

$yes   = $array['yes'];
$no    = $array['no'];
$maybe = $array['maybe'];

这就是它的全部内容。

答案 1 :(得分:1)

你可以试试这个。

$result = array();

foreach($data as $response)
    $result[] = array_values($response);

list($no, $yes, $maybe) = $result;

$data是您问题中显示的数组。

然后,您可以访问$no$yes$maybe中的3个值,假设$data的顺序与该订单相对应。

答案 2 :(得分:1)

假设内部数组以相同的顺序填充相同的键,看起来您想要查看array_values:http://php.net/manual/en/function.array-values.php

从那以后,它应该很简单:

$yes   = array_values( $initial_array['yes'] );
$no    = array_values( $initial_array['no'] );
$maybe = array_values( $initial_array['maybe'] );

答案 3 :(得分:0)

此问题的所有其他解决方案取决于密钥的名称,如果密钥从yes更改为YES,则解决方案均无效,以下是动态解决方案,也很简单。

$array   = array("yes"=>array(1,2,3,4),"no"=>array(3,45,6,),"maybe"=>array(7,8,9));

foreach($array as $key=>$val){
   $key      = strtolower($key);
   $$key     = $val;
}

print_r($yes);
echo "<br>";
print_r($no);
echo "<br>";
print_r($maybe);