function getdiskspaces($disk)
{
$i=0;
$tok = strtok($disk," ");
while($tok)
{
$xi=$tok;
if ($i == 1)
{
$a1=$xi;
 }
if ($i == 2)
{
$a2=$xi;
 }
if ($i == 3)
{
$a3=$xi;
 }
if ($i == 4)
{
$a4=$xi;
 }
  if ($i == 5)
{
$a5=$xi;
 } $i++;
     $tok = strtok(" ");
}
$use1=$a1;
$last=$a2;
$used1=$a5;
$msg= array("used"=>$use1,"percent"=>$last,"used2"=>$used1);
return $msg;
}
for($i=0;$i<4; $i++){
$disk=exec("/bin/df -h /disk$i/");
$msg=getdiskspaces($disk);
print_r($msg);
}
最后输出下面:
Array ( [used] => 3.0G [percent] => 69M [used2] => /disk2 )  
Array ( [used] => 2.0G [percent] => 36M [used2] => /disk3 )  
Array ( [used] => 3.0G [percent] => 69M [used2] => /disk4 )   
Array ( [used] => 3.0G [percent] => 69M [used2] => /disk5 )我想把这些个数组变成一个二维数组 应该怎么写代码呀?
请各位高手指教下

解决方案 »

  1.   

    for($i=0;$i<4; $i++){
    $disk=exec("/bin/df -h /disk$i/");
    $msg=getdiskspaces($disk);$array[]=$msg;print_r($msg);
    }
      

  2.   

    for($i=0;$i<4; $i++){
      $disk = exec("/bin/df -h /disk$i/");
      $msg[] = getdiskspaces($disk);
    }
    print_r($msg);
      

  3.   

    Array ( [0] => Array ( [all] => [used] => 3.0G [percent] => 69M [used2] => /disk2 ) )  
    Array ( [0] => Array ( [all] => [used] => 3.0G [percent] => 69M [used2] => /disk2 ) [1] => Array ( [all] => [used] => 2.0G [percent] => 36M [used2] => /disk3 ) )
    Array ( [0] => Array ( [all] => [used] => 3.0G [percent] => 69M [used2] => /disk2 ) [1] => Array ( [all] => [used] => 2.0G [percent] => 36M [used2] => /disk3 ) [2] => Array ( [all] => [used] => 3.0G [percent] => 69M [used2] => /disk4 ) ) 
    Array ( [0] => Array ( [all] => [used] => 3.0G [percent] => 69M [used2] => /disk2 ) [1] => Array ( [all] => [used] => 2.0G [percent] => 36M [used2] => /disk3 ) [2] => Array ( [all] => [used] => 3.0G [percent] => 69M [used2] => /disk4 ) [3] => Array ( [all] => [used] => 3.0G [percent] => 69M [used2] => /disk5 ) ) 
    最后的效果是上面所示 可以只打印出最后一个数组吗?
    Array ( [0] => Array ( [all] => [used] => 3.0G [percent] => 69M [used2] => /disk2 ) [1] => Array ( [all] => [used] => 2.0G [percent] => 36M [used2] => /disk3 ) [2] => Array ( [all] => [used] => 3.0G [percent] => 69M [used2] => /disk4 ) [3] => Array ( [all] => [used] => 3.0G [percent] => 69M [used2] => /disk5 ) ) 
      

  4.   

    for($i=0;$i <4; $i++)  //引用3楼
    {
      $disk = exec("/bin/df -h /disk$i/");
      $msg[] = getdiskspaces($disk);
    }$num = count( $msg );print_r($msg[$num -1]);