Создание многомерного массива байтов значений слияния - PullRequest
0 голосов
/ 03 апреля 2012

У меня есть массив типа:

array (4) {[0] => string (1) "1" [1] => string (1) "2" [2] => string (1) "3" [3] => string (1) "4"}

И мне нужно создать многомерный массив, подобный этому:

$data = array(
   array(
      $id => '1' ,
   ),
   array(
      '$id' => '2' 
   )
   ),
   array(
      '$id' => '3' 
   )
   ),
   array(
      '$id' => '4' 
   )
);

Где $ id имеет постоянное значение (скажем, 6), а значение многомерного массива является значением из первого массива.

Спасибо

Лерон

Ответы [ 2 ]

1 голос
/ 03 апреля 2012
$data = array();

for($i=0;$i<count($firstArray);++$i) {
    $data[] = array('$id' => $firstArray[$i]);
}

Вы имели в виду это?

Редактировать:

Извините, я неправильно прочитал ваш вопрос.

$data = array(); $id = '6';

for($i=0;$i<count($firstArray);++$i) {
    $data[] = array($id => $firstArray[$i]);
    // Or:
    // $data[] = array();
    // $data[$i][$id] = $firstArray[$i];
}

Редактировать 2:

Вот тестовый код:

<?php

$firstArray = array("1", "2", "3", "4");

$data = array(); $id = '6';

for($i=0;$i<count($firstArray);++$i) {
    $data[] = array($id => $firstArray[$i]);
    // Or:
    // $data[] = array();
    // $data[$i][$id] = $firstArray[$i];
}

print_r($data);

?>

И вывод:

Array
(
    [0] => Array
        (
            [6] => 1
        )

    [1] => Array
        (
            [6] => 2
        )

    [2] => Array
        (
            [6] => 3
        )

    [3] => Array
        (
            [6] => 4
        )

)
0 голосов
/ 03 апреля 2012

Вы имеете в виду, что вам нужен тот же индекс, и тогда он будет таким же, как и у вас, таким образом:

$data = array(
   array(
      $id => '1' ,
   ),
   array(
      '$id' => '2' 
   )
   ),
   array(
      '$id' => '3' 
   )
   ),
   array(
      '$id' => '4' 
   )
);

Тогда как каждый раз для отображения данных может быть один и тот же индекс массива?Если вам нужны данные в одном массиве, создайте что-то вроде

$data = array($id => array(
1,2,3,4 // IT WILL BE HOLDED BY YOUR $id
));

И, как вы сказали для Creating multidimensional array byt merging values, перейдите через array_merge()

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