Задать вопрос
@Shumerok

Преобразовать массив (php)?

Array
(
[0] => id
[1] => 2
[2] => product
[3] => 3
)
Сделать Array('id'=>2, 'product'=>3).

Заранее спасибо!
  • Вопрос задан
  • 146 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 3
27cm
@27cm
TODO: Написать статус
$arr = array('id', 2, 'product', 3);
$new = array();

for ($i = 0; $i < count($arr) - 1; $i += 2) {
    $new[$arr[$i]] = $arr[$i + 1];
}

var_dump($new);
Ответ написан
Комментировать
$newArray = [];
$key = null;
foreach ($array as $value) {
  if (is_null($key)) {
    $key = $value;
    continue;
  }
  $newArray[$key] = $value;
  $key = null;
}

var_export($newArray);
Ответ написан
Комментировать
iiifx
@iiifx
PHP, OOP, SOLID, Yii2, Composer, PHPStorm
$array = [ 'id', 2, 'product', 3 ];
$result = [ ];
while ( $array ) {
    $name = array_shift( $array );
    $value = array_shift( $array );
    $result[ $name ] = $value;
}

var_export( $result );


array (
    'id' => 2,
    'product' => 3,
)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
dmitriy_novikov
@dmitriy_novikov
Занимаюсь web-разработкой с 2010г. http://dmnv.ru
в первом случае у вас результат формирования массива, а во втором - строка формирования массива.
Это примерно как спросить "как из 5 сделать (2+3)?"
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы