Что означает "=>" в PHP?

Что означает оператор => в следующем коде?

foreach ($user_list as $user => $pass)

Код - это комментарий на PHP.net. Пользователь не указывает значение $user_list, $user или $pass. Обычно я вижу, что => означает равный или больший.

Однако я не уверен в его цели, потому что он не назначен. Я прочитал код как

  • обрабатывает список пользователей в целых числах
  • чтобы значение каждого пользователя было равно или больше пароля

Вышеприведенное не имеет смысла для меня.

Ответ 1

=> является разделителем для ассоциативных массивов. В контексте этого цикла foreach он назначает ключ массива $user и значение $pass.

Пример:

$user_list = array(
    'dave' => 'apassword',
    'steve' => 'secr3t'
);

foreach ($user_list as $user => $pass) {
    echo "{$user} pass is: {$pass}\n";
}
// Prints: 
// "dave pass is: apassword"
// "steve pass is: secr3t"

Обратите внимание, что это также можно использовать для массивов с числовой индексацией.

Пример:

$foo = array('car', 'truck', 'van', 'bike', 'rickshaw');
foreach ($foo as $i => $type) {
    echo "{$i}: {$type}\n";
}
// prints:
// 0: car
// 1: truck
// 2: van
// 3: bike
// 4: rickshaw

Ответ 2

Это означает назначение ключа $user и переменной $pass

Когда вы назначаете массив, вы делаете это так:

$array = array("key" => "value");

Он использует тот же символ для обработки массивов в операциях foreach. "= > " Связывает ключ и значение.

В соответствии с Руководство по PHP, пары "ключ/значение" создаются" = > .

Кроме того, равно или больше, чем наоборот: ' > ='. В PHP больше или меньше знака всегда идет первым: ' > =', '< ='.

И так же, как примечание, исключая второе значение, не работает, как вы думаете. Вместо того, чтобы давать вам ключ, он фактически дает вам значение:

$array = array("test" => "foo");

foreach($array as $key => $value)
{
    echo $key . " : " . $value; // Echoes "test : foo"
}

foreach($array as $value)
{
    echo $value; // Echoes "foo"
}

Ответ 3

Код типа "a = > b" означает для ассоциативного массива (некоторые языки, например Perl, если я правильно помню, вызовите эти "хэш" ), что "a" - это ключ, а "b" - значение.

Возможно, вы захотите взглянуть на документацию, по крайней мере:

Здесь у вас есть массив, называемый $user_list, и вы будете перебирать его, получая для каждой строки ключ строки в $user и соответствующее значение в $pass.

Например, этот код:

$user_list = array(
    'user1' => 'password1',
    'user2' => 'password2',
);

foreach ($user_list as $user => $pass)
{
    var_dump("user = $user and password = $pass");
}

Вы получите этот результат:

string 'user = user1 and password = password1' (length=37)
string 'user = user2 and password = password2' (length=37)

(Я использую var_dump, чтобы создать приятный вывод, который облегчает отладку, чтобы получить нормальный вывод, вы используйте echo)


" Равный или больший "- это другой способ arround:" больше или равно ", который написан на PHP, как это;" > ="
То же самое для большинства языков, полученных из C: С++, JAVA, PHP,...


Как совет: если вы только начинаете с PHP, вам обязательно нужно потратить некоторое время (может быть, пару часов, может быть, даже полдня или даже целый день), проходящие через некоторые части руководства:-)
Это очень поможет вам!

Ответ 4

Массив в PHP - это карта ключей к значениям:

$array = array();
$array["yellow"] = 3;
$array["green"] = 4;

Если вы хотите что-то сделать с каждой парой ключ-значение в своем массиве, вы можете использовать структуру управления foreach:

foreach ($array as $key => $value)

Переменная $array - это массив, который вы будете использовать. Переменные $key и $value будут содержать пару ключ-значение на каждой итерации цикла foreach. В этом примере они сначала будут содержать "желтый" и 3, затем "зеленый" и 4.

Вы можете использовать альтернативную нотацию, если вам не нужны клавиши:

foreach ($array as $value)

Ответ 5

Массивы в PHP являются ассоциативными массивами (иначе называемыми словарями или хэшами) по умолчанию. Если вы явно не назначаете ключ значению, интерпретатор молча сделает это за вас. Таким образом, выражение, которое вы получили там, проходит через $user_list, делая ключ доступным как $user и значение, доступное как $pass, как локальные переменные в теле foreach.

Ответ 6

$user_list - это массив данных, которые при прошивке могут быть разделены на это имя и значение.

В этом случае это имя $user, а это значение $pass.