"=>" Ne

6 Cevap

=> operatörü aşağıdaki kodda ne anlama geliyor?

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

The code is a comment at PHP.net. The user does not specify the value of $user_list, $user or $pass. I normally see that => means equal or greater than.

However, I am not sure about its purpose here because it is not assigned. I read the code as

  1. tamsayılar kullanıcıların bir listesini işlemek
  2. Her kullanıcı değeri eşit veya şifre daha büyük olduğu şekilde

Yukarıdaki bana mantıklı gelmiyor.

6 Cevap

Masi => ilişkisel diziler için ayırıcı. Bu foreach döngüsü bağlamında, bu $user için dizinin anahtar ve $pass için bir değer atar.

Örnek:

$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"

Bu da sayısal endeksli dizileri için kullanılabilir unutmayın.

Örnek:

$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

Bu $ geçmek için $ kullanıcı ve değişkene tuşu atayın demektir

Bir dizi atadığınızda, bu gibi bunu

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

Bu foreach ifadeleri işleme diziler için aynı sembolü kullanır. '=>' Anahtarı ve değeri bağlar.

PHP Manual göre, '=>' anahtar / değer çiftleri yarattı.

Ayrıca, Eşit veya Büyüktür tersi yoludur: '> ='. PHP, büyük veya işareti daha az zaman önce gider: '> =', '<='.

Zannettiğiniz gibi sadece bir yan not olarak, ikinci değer hariç çalışmıyor. Bunun yerine size sadece anahtarı vererek, aslında sadece bir değer verir:

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

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

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

'A' bir anahtar olduğunu bir ilişkisel dizi (some languages, like Perl, if I remember correctly, call those "hash") için "a => b" araçlarla, ve 'b', bir değer gibi kod.

Sen dokümantasyon bakmak istiyorum, en azından olabilir:

Burada, $user_list adında bir dizi, yaşıyorsanız, ve $user olarak, her bir hat için, almak, üzerine çizgi anahtarını yineleme, ve {karşılık gelen değeri [(2)]}.

Örneğin, bu kod:

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

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

Bu çıktıyı alırsınız:

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


"Equal or greater" is the other way arround : "greater or equals", which is written, in PHP, like this ; ">="
Same thing for most languages derivated from C : C++, JAVA, PHP, ...


As a piece of advice : if you are just starting with PHP, you should definitly spend some time (maybe couple of hours, maybe even half a day or even a whole day) going through some parts of the manual :-)
It'd help you much !

PHP Diziler varsayılan (aksi sözlükler ya da karma olarak da bilinir) ilişkisel diziler vardır. Açıkça bir değere tuşu atamak istemiyorsanız, tercüman sessizce sizin için yapacak. Yani, $user olarak anahtar kullanılabilir hale, $user_list ile orada dolaşır kadar var ifadesi olarak kullanılabilir ve değeri $pass vücutta yerel değişkenler olarak ve foreach.

PHP bir dizi değerlere anahtarlarının bir harita:

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

Eğer dizideki her anahtar-değer çifti ile bir şeyler yapmak istiyorsanız, foreach operatörünü kullanabilirsiniz:

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

$ Dizi değişkeni kullanarak olacak dizidir. $ Anahtar ve $ değer değişkenleri foreach döngüsü her tekrarında bir anahtar-değer çifti içerir. Bu örnekte, ilk önce o "yeşil" ve 4 "sarı" ve 3 içerir.

Eğer tuşları umurumda değil eğer alternatif bir gösterim de kullanabilirsiniz:

foreach ($array as $value)

$user_list ile döngüye zaman adı ve değer ayrılabilir veri bir dizidir.

Bu durumda adıdır $user ve değer olduğunu $pass.