обрабатывать многозначный массив для индекса индекса как массив - PullRequest
0 голосов
/ 14 мая 2018

У меня есть многомерный массив в php. Это формат массива. Мне нужно обрабатывать эти данные в цикле, и я хочу, чтобы каждое значение массива было единичным со своим индексом.

Array
(
    [name] => Array
        (
            [0] => third.png
            [1] => second.png
            [2] => first.png
        )

    [type] => Array
        (
            [0] => image/png
            [1] => image/png
            [2] => image/png
        )

    [tmp_name] => Array
        (
            [0] => /opt/lampp/temp/phpOPmQcB
            [1] => /opt/lampp/temp/phpk0j1yp
            [2] => /opt/lampp/temp/phpS2mhVd
        )

    [error] => Array
        (
            [0] => 0
            [1] => 0
            [2] => 0
        )

    [size] => Array
        (
            [0] => 179440
            [1] => 102238
            [2] => 75915
        )

)

Я хочу обрабатывать многомерный массив с новым индексомнапример, этот многомерный массив в ядре PHP, пожалуйста, помогите мне

array(
    Array
   (
    [name] => third.png
    [type] => image/png
    [tmp_name] => /opt/lampp/temp/phpOPmQcB
    [error] => 0
    [size] => 179440
   )
    Array
  (
    [name] => second.png
    [type] => image/png
    [tmp_name] =>/opt/lampp/temp/phpk0j1yp
    [error] => 0
    [size] => 102238
  )
    Array
  (
    [name] => first.png
    [type] => image/png
    [tmp_name] => /opt/lampp/temp/phpS2mhVd
    [error] => 0
    [size] => 75915
  )
)

1 Ответ

0 голосов
/ 14 мая 2018

Вы можете получить ключи массива с помощью array_keys.
Затем вам нужно зациклить счетчик одного из подмассивов.Я получаю счет от первого подмассива, используя переменную $keys.

Я вкладываю для и ожидающий foreach для построения ожидаемого массива.
Этот метод является динамическим и будет работать с большим входным массивом как по числу подмассивов, так и по количеству элементов.

$keys = array_keys($arr);
$count = count($arr[$keys[0]]);

for($i = 0; $i<$count; $i++){
    foreach($keys as $val){
        $new[$i][$val] = $arr[$val][$i];
    }
}

var_dump($new);

Вывод:

array(3) {
      [0]=>
      array(5) {
            ["name"] => "third.png"
            ["type"] => "image/png"
            ["tmp_name"] => "/opt/lampp/temp/phpOPmQcB"
            ["error"] => 0 
            ["size"] => 179440
      }
      [1]=>
      array(5) {
            ["name"] => "second.png"
            ["type"] => "image/png"
            ["tmp_name"] => "/opt/lampp/temp/phpk0j1yp"
            ["error"] => 0
            ["size"] => 102238
      }
      [2]=>
      array(5) {
            ["name"] => "first.png"
            ["type"] => "image/png"
            ["tmp_name"] => "/opt/lampp/temp/phpS2mhVd"
            ["error"] => 0
            ["size"] => 75915
      }
}

https://3v4l.org/4g40N

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...