Добавление 0 (нуля) в качестве ключа в массив не работает, но когда я меняю его на 1, он работает

#php #laravel-5.2

#php #laravel-5.2

Вопрос:

Я все еще в замешательстве, почему, когда я использую 0 в качестве ключа в массиве, он не работает, но когда я изменил его на 1, он работает нормально. Может кто-нибудь объяснить мне, почему это происходит. Заранее спасибо.

$myArray = {1,2,3,4}

Использование цикла foreach для получения данных и добавления в мой новый массив

  $o = array();
 foreach($myArray as $key=>$value){
     //using to $key to set the key for item in my array 
     $o[$key] = $value;
  }
 

Вывод должен быть таким

$o={0:1,1:2,2:3,3:4}

Но когда ключ начинается с 0, он возвращается следующим образом

$o={1,2,3,4}

Когда я меняю его на

 $o = array();
 foreach($myArray as $key=>$value){
     //using to $key to set the key for item in my array 
     $o[$key 1] = $value;
  }
 

вывод

$o={1:1,2:2,3:3,4:4}

моя главная цель — выход

$o={0:1,1:2,2:3,3:4}

Комментарии:

1. не могли бы вы, пожалуйста, предоставить var_dump вашего $key? также — пожалуйста, предоставьте свой код как фактический код, а не как скриншот.

2. @Paul это ассоциативный массив или числовой массив

3. @FranzGleichmann я обновил свой вопрос

4. если это так var_dump($key) , то здесь действительно много чего не так. плюс: пожалуйста, не публикуйте скриншоты, публикуйте текст…

5. @user3099298 Ассоциативный

Ответ №1:

проверьте это,

 <?php

$o = array(1,2,3,4);

$bind = array();
foreach($o as $key=>$value){
    $bind[] = $key.":".$value;
}

echo implode( ',', $bind );

?>


Output: 0:1,1:2,2:3,3:4