عملگر های آرایه ای ( Array ) در PHP

عملگر های آرایه ای – در PHP درسی وجود دارد به نام array operator که در آن می توان آرایه ها را با هم جمع کرد ، و به روش های مختلفی مقایسه کرد .
در این آموزش با عملگر ها در آرایه کار خواهیم کرد :
1- +
2- ==
3- !=
4- <>
5- ===
6- !==
عملگر + ( Union Array )
همان طور که در کد پایین مشاهده می کنید اولویت با آرایه ای است که اول جمع شده مثل لاین های 5 و 7
$array_A = ["Nismo" , "RX7" , "Aventador"]; $array_B = ["M3" , "M1" , "supra"]; $res_union = $array_A + $array_B; // return array_A $res_union = $array_B + $array_A; // return array_B
اما استثنائی هم وجود دارد مثل :
$array_B = ["M3" , "supra"]; $res_union = $array_A + $array_B; // return array_A $res_union = $array_B + $array_A; // ["M3" , "supra" , "Aventador"]
در صورتی که مثل آرایه b دو عضو داشته باشیم و با آرایه ای که بیشتر از 2 عضو داشته باشد جمع شود عضو هایی که b ندارد به آن اضافه می شود .
در این جا آرایه b یک عضو از a کمتر است بنابراین 2 عضو آن در جای خود باقی می ماند و یک عضو به آن اضافه می شود . ( البته اگر آرایه b مثل لاین 5 ابتدا جمع شود )
مقایسه آرایه ها == ( Equality )
در صورتی که مقدار اعضای آرایه و کلید اعضای آرایه یکی باشد ، true دریافت خواهید کرد .
مورد 1
$array_A = ["AMC" , "Citroen" , "BMW"]; $array_B = [0 => "AMC" , 1 => "Citroen" , 2 => "BMW"]; echo $array_A == $array_B; // 1
مورد 2
$array_A = ["AMC" , "Citroen" , "BMW"]; $array_B = [1 => "Citroen" , 2 => "BMW" , 0 => "AMC"]; echo $array_A == $array_B; // 1
مورد 3
$array_A = ["AMC" , "Citroen" , "true"]; $array_B = [0 => "AMC" , 1 => "Citroen" , 2 => true]; echo $array_A == $array_B; // 1
مورد 4 نتیجه false بدلیل تفاوت در array key
$array_A = ["AMC" , "Citroen" , "BMW"]; $array_B = [0 => "AMC" , 3 => "Citroen" , 2 =>"BMW"]; echo $array_A == $array_B; // false
مقایسه آرایه ها =! ( Inequality )
این عملگر دقیقا مخالف عملگر == هست یعنی هر خروجی که از آن دریافت کنید مخالف آن می شود همین عملگر یعنی =!
در صورتی که با این عملگر false دریافت کنیم یعنی نامساوی نیست ، در صورتی که true باشد یعنی نامساوی هست .
مورد 1
$array_A = ["AMC" , "Citroen" , true]; $array_B = [0 => "AMC" , 1=> "Citroen" , 2=>"true"]; echo $array_A != $array_B; // false
مورد 2
$array_A = ["AMC" , "Citroen" , true]; $array_B = [1=> "Citroen" , 2=>"true" , 0 => "AMC"]; echo $array_A != $array_B; // false
مورد 3 ( نا مساوی بدلیل کلید عضو آرایه )
$array_A = ["AMC" , "Citroen" , true]; $array_B = [0 => "AMC" , 1=> "Citroen" , 999=>"true"]; echo $array_A != $array_B; // 1
مورد 4 ( نا مساوی بدلیل مقدار عضو آرایه )
$array_A = ["AMC" , "Citroen" , false]; $array_B = [0 => "AMC" , 1=> "Citroen" , 2=> true]; echo $array_A != $array_B; // 1
مقایسه آرایه ها <> ( Inequality ) همان =! با علامت متفاوت
کد های بالا مربوط به Inequality را با همین عملگر <> می توانیم اجرا کنیم و دقیقا همان خروجی را دریافت می کنیم .
مثل :
$array_A = ["AMC" , "Citroen" , false]; $array_B = [0 => "AMC" , 1=> "Citroen" , 2=> true]; echo $array_A <> $array_B; // 1
مقایسه آرایه ها === ( Identity )
این عملگر علاوه بر موارد Equality باید ترتیب آرایه و نوع داده عضو آرایه یکی باشد . یعنی 4 شرط باید برقرار باشد تا true دریافت کنیم .
مورد 1 ( مساوی است )
$array_A = ["AMC" , "Citroen" , "BMW"]; $array_B = [0 => "AMC" , 1=> "Citroen" , 2=>"BMW"]; echo $array_A === $array_B; // 1
مورد 2 ( نامساوی – همه شرایط برقرار است به جز ترتیب اعضای آرایه )
$array_A = ["AMC" , "Citroen" , "BMW"]; $array_B = [1=> "Citroen" , 2=>"BMW" , 0 => "AMC"]; echo $array_A === $array_B; // false
مورد 3 ( نامساوی – همه شرایط برقرار است به جز نوع داده مقدار عضو آرایه )
$array_A = ["AMC" , "Citroen" , true]; $array_B = [0 => "AMC" , 1=> "Citroen" , 2=>"true"]; echo $array_A === $array_B; // false
مورد 4 ( نامساوی – همه شرایط برقرار است به جز کلید عضو آرایه )
$array_A = ["AMC" , "Citroen" , "BMW"]; $array_B = [0 => "AMC" , 1=> "Citroen" , 3=>"BMW"]; echo $array_A === $array_B; // false
مورد 5 ( نامساوی – همه شرایط برقرار است به جز مقدار عضو آرایه )
$array_A = ["AMC" , "Citroen" , "Hyundai"]; $array_B = [0 => "AMC" , 1=> "Citroen" , 2=>"BMW"]; echo $array_A === $array_B; // false
مقایسه آرایه ها ==! ( Non-identity )
هر خروجی که با عملگر Identity بدست آید در این عملگر مخالف آن خواهد بود یعنی در صورتی که
خروجی مقایسه ای در Identity مقدار false داشته باشد در این ( Non-identity ) عملگر true خواهد بود
بلعکس هم می تواند باشد در Identity مقدار true باشد در ( Non-identity ) مقدار false خواهد بود .
$array_A = ["AMC" , "Citroen" , "true"]; $array_B = [1=> "Citroen" , 2=>"true" , 0 => "AMC"]; echo $array_A !== $array_B; // 1
عملگر های آرایه ای
ارسال نظر