PHP တွင် Array ခလုတ်အမျိုးအစားသည်အလွန်အရေးကြီးသည်။ များသောအားဖြင့်ကျွန်ုပ်တို့သည်ကိန်းဂဏန်းများသို့မဟုတ်ကြိုးများကို array များအတွက်အဓိကအကြောင်းရင်းများအဖြစ်အသုံးပြုသည်။ ဤဆောင်းပါးသည်ကြိုးမဲ့မဟုတ်သောသို့မဟုတ်ကိန်းဂဏန်းများကို PHP တွင်ခင်းကျင်းသည့်နေရာများနှင့်၎င်းတို့အားမည်သို့ကိုင်တွယ်ရမည်ကိုဆွေးနွေးနိုင်သည့်အလားအလာရှိသောပြ issues နာများကိုဆွေးနွေးပါမည်။
PHP တွင် array key names များအတွက်အချို့သောသတ်မှတ်ချက်များရှိသည်။ string တစ်ခုသို့မဟုတ်ကိန်းတစ်ခုမဟုတ်သည့်ဒေတာအမျိုးအစားမဆိုသော့ချက်အမည်အဖြစ်အသုံးပြုသောအခါအလိုအလျှောက် string ကိုအလိုအလျောက်ပြောင်းလဲလိမ့်မည်။ PHP သည်အဓိကအမည်များကိုကြိုးအမျိုးအစားများသို့ပြောင်းလဲရန်ကြိုးစားလိမ့်မည်။ အကယ်. ၎င်းသည်အရာဝတ်ထုများ, arrays စသည်ဖြင့်ရှုပ်ထွေးသောဒေတာအမျိုးအစားတစ်ခုဖြစ်ပါက PHP သည်၎င်း၏သီးခြားပြောင်းလဲခြင်းစည်းမျဉ်းများကိုအသုံးပြုလိမ့်မည်။
ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည် floating point နံပါတ်ကိုခင်းကျင်းခြင်း၏သော့အမည်ကိုအသုံးပြုပါက PHP သည်၎င်းကို string တစ်ခုသို့အလိုအလျောက်ပြောင်းလဲလိမ့်မည်။
<?php
$array = array();
$array[1.5] = "value";
echo $array["1.5"]; // ထုတ်လုပ်ခြင်း "value"
?>
အထက်ပါကုဒ်နံပါတ်များတွင်ကျွန်ုပ်တို့သည် floating နံပါတ် 1.5 ကိုအဓိကသော့ချက်အဖြစ်အသုံးပြုသော်လည်း၎င်းသည် string ကို 1.5 " သို့ကူးပြောင်းခြင်းကိုအလိုအလျောက်ပြောင်းလဲပြီး array တွင်သိမ်းဆည်းထားပါသည်။ အကယ်. သင်သည် string ကို 1.5 " ကိုအသုံးပြုနေပါကသက်ဆိုင်ရာတန်ဖိုးကိုမှန်ကန်စွာတွေ့ရှိနိုင်သည်။
အရာဝတ်ထုတစ်ခုသို့မဟုတ်ခင်းကျင်းမှုကို array ၏အဓိကအကြောင်းရင်းများအဖြစ်အသုံးပြုရန်ကြိုးစားပါက PHP သည်အမှားတစ်ခုသို့မဟုတ်သူတို့ကို string သို့ပြောင်းလဲလိမ့်မည်။ သတ်သတ်မှတ်မှတ်အပြုအမူများသည်အရာဝတ်ထုများသို့မဟုတ် array များအကောင်အထည်ဖော်မှုအရကွဲပြားခြားနားသည်။
အရာဝတ်ထုတစ်ခုကို array တစ်ခု၏သော့အမည်အဖြစ်အသုံးပြုသောအခါ PHP သည်အရာဝတ်ထု၏ __TOSTRING () နည်းလမ်းကို (နည်းလမ်းရှိလျှင်) ကိုခင်းကျင်းသည့်သော့အမည်ရှိသည့်နည်းလမ်းကို သုံး. အသုံးပြုသည်။ __tostring () နည်းလမ်းကိုမသတ်မှတ်ထားပါက PHP သည်အမှားတစ်ခုပြုလုပ်လိမ့်မည်။
<?php
class MyClass {
public function __toString() {
return "my_object";
}
}
$obj = new MyClass();
$array = array();
$array[$obj] = "value";
echo $array["my_object"]; // ထုတ်လုပ်ခြင်း "value"
?>
__tostring () နည်းလမ်းကိုမသတ်မှတ်ပါက PHP သည်အောက်ပါအမှားကိုပစ်လိမ့်မည်။
Catchable fatal error: Object of class MyClass could not be converted to string
Array ၏သော့အမည်ကိုကျွန်ုပ်တို့တိုက်ရိုက်အသုံးပြုပါ က PHP သည်၎င်းကို string တစ်ခုသို့ပြောင်းရန်ကြိုးစားလိမ့်မည်။ ဤပြောင်းလဲခြင်းသည်များသောအားဖြင့်အရေးပါသောပ conflicts ိပက်ခများကိုဖြစ်ပေါ်စေသည်။
<?php
$array = array();
$array[array(1, 2)] = "value";
var_dump($array); // အမှား,သော့နာမည်အချည်းနှီးသော string ကိုကူးပြောင်းသည်
?>
ရလဒ်ရလဒ် -
array(1) {
[""]=> string(5) "value"
}
PHP တွင် array key names များသည်ကိန်းဂဏန်းများသို့မဟုတ်ကြိုးများဖြစ်ရမည်။ အခြားဒေတာအမျိုးအစားများသည်အလိုအလျောက်ကြိုးများသို့အလိုအလျောက်ပြောင်းလဲလိမ့်မည်။
ကိန်းနှင့်ကြိုးများ - PHP - PHP သည်ကိန်းနှင့်ကြိုးများကို array key names အဖြစ်မှန်ကန်စွာကိုင်တွယ်သည်။
Floating Point နံပါတ် - floating နံပါတ်များကိုအလိုအလျောက် strings သို့ပြောင်းလဲခြင်း (ဥပမာ - 1.5 " ) ။
အရာဝတ်ထု : __TOSTRINGRINGRE () နည်းလမ်းဖြင့်ဆုံးဖြတ်ထားသည့်အရာဝတ်ထုများကို strings များသို့ပြောင်းလဲလိမ့်မည်။
Array : ခင်းကျင်းမှုကိုအချည်းနှီးသော string တစ်ခုသို့ပြောင်းလဲလိမ့်မည်။
ဖွံ့ဖြိုးရေးစဉ်အတွင်းကြိုတင်ခန့်မှန်းရခက်သည့်ပြ problems နာများကိုရှောင်ရှားရန်ကြိုးမဲ့မဟုတ်သောသို့မဟုတ်ပေါင်းစည်းမှုကိုအရေးမကြီးပါ။ အခြားအမျိုးအစားများကိုသော့ချက်အမည်များအဖြစ်အသုံးပြုရန်လိုအပ်ပါကသင့်လျော်သောပြောင်းလဲခြင်းယုတ္တိဗေဒကိုအသုံးမပြုမီသို့မဟုတ်အကောင်အထည်မဖော်မီအမျိုးအစားပြောင်းလဲခြင်းကိုစဉ်းစားနိုင်သည်။