Что означает оператор =>
в следующем коде?
foreach ($user_list as $user => $pass)
Код – это комментарий на PHP.net. Пользователь не указывает значение $user_list
, $user
или $ pass. Обычно я вижу, что =>
означает равный или больший.
Однако я не уверен в его назначении, потому что он не назначен. Я прочитал код как
Вышеприведенное не имеет смысла для меня.
=>
является разделителем для ассоциативных массивов. В контексте этого цикла foreach он присваивает ключ массива $user
и значение $pass
.
Пример:
$user_list = array( 'dave' => 'apassword', 'steve' => 'secr3t' ); foreach ($user_list as $user => $pass) { echo "{$user}'s pass is: {$pass}\n"; } // Prints: // "dave's pass is: apassword" // "steve's 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
Это означает назначение ключа $ 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" }
Код типа «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: C ++, JAVA, PHP, …
Как совет: если вы только начинаете с PHP, вам обязательно нужно потратить некоторое время (может быть, пару часов, может быть, даже полдня или даже целый день), проходящие через некоторые части руководства 🙂
Это поможет вам!
Массив в PHP – это карта ключей к значениям:
$array = array(); $array["yellow"] = 3; $array["green"] = 4;
Если вы хотите что-то сделать с каждой парой ключ-значение в своем массиве, вы можете использовать структуру управления foreach
:
foreach ($array as $key => $value)
Переменная $ array – это массив, который вы будете использовать. Переменные $ key и $ value будут содержать пару key-value на каждой итерации цикла foreach
. В этом примере они сначала будут содержать «желтый» и 3, затем «зеленый» и 4.
Вы можете использовать альтернативную нотацию, если вам не нужны ключи:
foreach ($array as $value)
Массивы на PHP представляют собой ассоциативные массивы (иначе называемые словарями или хэшами) по умолчанию. Если вы явно не назначаете ключ значению, интерпретатор молча сделает это за вас. Итак, выражение, которое вы получили там, перебирается через $user_list
, делая ключ доступным как $user
и значение, доступное как $pass
как локальные переменные в теле foreach
.
$user_list
– это массив данных, который при циклическом $user_list
может быть разделен на его имя и значение.
В этом случае это имя $user
а значение – $pass
.