K
K
Kirill Gorelov2016-04-28 11:09:33
PHP
Kirill Gorelov, 2016-04-28 11:09:33

From one dimensional array to multidimensional php?

Hello.
I have a one dimensional array

Array
(
    [0] => size:0.68| time :15| path :/var/cache/bind/managed-keys.bind
    [1] => size:0.5| time :15| path :/var/cache/bind/managed-keys.bind.jnl
)

How can I turn it into a multidimensional
Array
(
[0] =>
[size] => 0.68,
[time] => 15,
[path] => /var/cache/bind/managed-keys.bind
[1] => size :0.5|time :15|path :/var/cache/bind/managed-keys.bind.jnl
[size] => 0.15,
[time] => 15,
[path] => /var/cache/bind/managed -keys.bind.jnl
)
I do it there like this:
// вывожу все файлы
 exec("find / -type f", $out);
 // перебираю все файлы
 foreach($out as $name){
 //получаю время изменения файла
$vrema = 'получаю время изменеия файла';
// создаю нужный массив 
    $string[] =  "size:".round(filesize($name)/1024,2)."| time :". $vrema ."| path :".$name ;
    // разделяю строку для удобства
    $array2 = explode('|', $string);
    // далее формирую многомерный массив
    foreach($array2 as $str) {
    list($key, $value) = explode(':', $str);
        $array1[$key] = $value;
    }
  }
И так вывожу многомерный массив для одной строки.	
print_r($array1);

How can I do it right?

Answer the question

In order to leave comments, you need to log in

1 answer(s)
V
VisualIdeas, 2016-04-28
@Kirill-Gorelov

And what for you form at first a line?

// вывожу все файлы
exec("find / -type f", $out);
// перебираю все файлы
$itogovij_array = array();
foreach($out as $name){
    //получаю время изменения файла
    $vrema = 'получаю время изменеия файла';
// создаю нужный массив
    $temp_array = array(
        'size'=>round(filesize($name)/1024,2),
        'time'=>$vrema,
        'path'=>$name,
    );
    $itogovij_array[]=$temp_array;
}

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question