Разный результат в массиве в зависимости от сервера? - PullRequest
1 голос
/ 23 января 2020

РЕДАКТИРОВАТЬ: Я добавил хранилище в github. В «добро пожаловать» результат печатается. https://github.com/Danven/borrar

LARAVEL 5.8

С VAR_DUMP (РАЗНОЕ !!!!)

{{ var_dump( $person->cars()->pluck('cars.id') )  }}

МЕСТНАЯ МАШИНА (PHP 7.3 .7):

object(Illuminate\Support\Collection)#1215 (1) {
  ["items":protected]=>
  array(4) {
    [0]=> int(1)
    [1]=> int(2)
    [2]=> int(3)
    [3]=> int(4)
  }
}

СЕРВЕР ПРОИЗВОДСТВА (PHP 7.2.12):

object(Illuminate\Support\Collection)#1215 (1) {
  ["items":protected]=>
  array(4) {
    [0]=> string(1) "1"
    [1]=> string(1) "2"
    [2]=> string(1) "3"
    [3]=> string(1) "4"
  }
}

1 Ответ

0 голосов
/ 23 января 2020

Потому что в PHP 7.3 Строки, содержащие действительные десятичные целые числа, если только перед числом не стоит знак +, будут преобразованы в целочисленный тип. Например, ключ 8 на самом деле будет храниться в 8. С другой стороны, 08 не будет приведен, поскольку он не является действительным десятичным целым числом.

Вы можете прочитать это на: https://www.php.net/manual/en/language.types.array.php

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