Разница между типами массивов - PHP - PullRequest
0 голосов
/ 13 сентября 2018

Есть ли разница между этим синтаксисом массива?

исходя из dd()

$array:3 = [
  0 => "email"
  1 => " email"
  2 => " email"
]

против

$array = ['email', 'email', 'email']

Я делаю это:

$email->bcc($bccEmailsArray);, который является первым фрагментом кода, и он не работает. Если я вставлю второй фрагмент кода, он будет работать.

Ответы [ 2 ]

0 голосов
/ 13 сентября 2018

Как и то, что говорят другие, ваша проблема просто синтаксис .из-за dd () это появляется?dd () var_dump () и т. д. предназначены для отладки.

$array:3 = [     // :3 is not valid
  0 => "email"   //no commas
  1 => " email"  //no commas + extra spaces in emails
  2 => " email"  //no commas + extra spaces in emails
]

Исправьте его на:

$array = [
  0 => "email",
  1 => "email",
  2 => "email",
]

или на любой из них:

$array = [0=>"email",1 => "email",2 => "email"];
$array = array(0=>"email", 1=>"email", 2=>"email");

или простоto:

$array = array("email","email","email");

, так как это просто выдаст ключи по умолчанию:

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

Следовательно, между ними нет разницы, если синтаксис правильный.

Дополнительная информация:

0 голосов
/ 13 сентября 2018

Основное отличие в том случае, если в первом примере неверный код PHP.

Часть array:3 делает его недействительным.

Допустимые примеры:

$array = [
  0 => "email",
  1 => "email",
  2 => "email"
];

и

$array = ['email', 'email', 'email'];

Помимо того факта, что в первом примере некоторые «электронные письма» начинаются с пробела, оба массива равны.Если вы не предоставите ключи явно, элементы будут пронумерованы, начиная с 0.

Для получения дополнительной информации вы можете обратиться к документации .

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