PHP တွင် အနက်ဆုံး အချက်အလက်များနှင့် ပြန်လည်ခေါ်သုံးခြင်း

ဥပမာအားဖြင့် အောက်ပါအတိုင်း အဆင့်များစွာ နက်ရှိုင်းသော အချက်အလက်တစ်ခုကို စဉ်းစားပါ။

php<?php
  $arr = [
    1,
    [
      2, 7, 8
    ],
    [
      3, 4, [5, [6, 7]],
    ]
  ];
?>

သင်မြင်သည့်အတိုင်း ဤအချက်အလက်သည် ရှုပ်ထွေးသော ဖွဲ့စည်းပုံရှိပြီး၊ ဤဖွဲ့စည်းပုံသည် မည်သည့်ပုံစံမဆို ဖြစ်နိုင်ပြီး နက်ရှိုင်းမှုအဆင့်များသည် မည်မျှပင် နက်နဲနိုင်သည်ဟု ယူဆပါသည်။

ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏အချက်အလက်မှ အခြေခံ (ဆိုလိုသည်မှာ အချက်အလက်မဟုတ်သော) အစိတ်အပိုင်းအားလုံးကို စမ်းသပ်မြင်ချင်သည်ဆိုပါစို့။ ထိုသို့သောအခါ ဤအချက်အလက်ကို ဖြတ်သန်းရန် ကျွန်ုပ်တို့အနေဖြင့် အချက်အလက်တွင် မမှန်သောဖွဲ့စည်းပုံနှင့် မသိရသော နက်ရှိုင်းမှုအဆင့်ရှိသောကြောင့် ကွင်းဆက်များကို အသုံးပြု၍မရနိုင်ပါ။

သို့သော် ဤကဲ့သို့သော အချက်အလက်ကို ဖြတ်သန်းရန် ပြန်လည်ခေါ်သုံးခြင်းကို အသုံးပြုရန် အလွန်အဆင်ပြေပါသည်။

အစတွင် ကျွန်ုပ်တို့၏ အချက်အလက်ကို ပုံစံအဖြစ် လက်ခံသော function တစ်ခုကို လုပ်ပါမည်၊ ထို function အတွင်းတွင် ကျွန်ုပ်တို့၏အချက်အလက်ကို ဖြတ်သန်းရန် ကွင်းဆက်တစ်ခုကို လုပ်ပါမည်။

php<?php
  function func($arr) {
    foreach ($arr as $elem) {
      echo $elem;
    }
  }
  
  func([1, [2, 7, 8], [3, 4, [5, [6, 7]]]]);
?>

ကျွန်ုပ်တို့လုပ်ထားသော ကွင်းဆက်သည် အဓိကအချက်အလက်၏ အစိတ်အပိုင်းများကိုသာ ဖြတ်သန်းမည်ဖြစ်သည်။ ဆိုလိုသည်မှာ ၎င်းသည် ပထမဦးစွာ 1 ကို ပြသမည်၊ ထို့နောက် [2, 7, 8] ကို ပြသမည်၊ ထို့နောက် [3, 4, [5, [6, 7]] ကို ပြသမည်။

ယခု ကွင်းဆက်အတွင်းရှိ အခြေခံအစိတ်အပိုင်းများနှင့် အချက်အလက်အစိတ်အပိုင်းများကို ခွဲခြားကြပါစို့။

php<?php
  function func($arr) {
    foreach ($arr as $elem) {
      if (is_array($elem)) {
        // အစိတ်အပိုင်း - အချက်အလက်
      } else {
        // အစိတ်အပိုင်း - အခြေခံ
        echo $elem;
      }
    }
  }
  
  func([1, [2, 7, 8], [3, 4, [5, [6, 7]]]]);
?>

ယခု အကယ်၍ ကျွန်ုပ်တို့၏ အစိတ်အပိုင်းသည် အချက်အလက်ဖြစ်ပါက၊ function သည် ၎င်းအချက်အလက်ကို ပုံစံအဖြစ် ပို့ပေးရန် ၎င်းကိုယ်တိုင် ခေါ်ယူပါစေ။

php<?php
  function func($arr) {
    foreach ($arr as $elem) {
      if (is_array($elem)) {
        func($elem);
      } else {
        echo $elem;
      }
    }
  }
  
  func([1, [2, 7, 8], [3, 4, [5, [6, 7]]]]);
?>
Задание 1

ဥပမာအားဖြင့် အောက်ပါအတိုင်း အဆင့်များစွာ နက်ရှိုင်းသော အချက်အလက်တစ်ခုကို စဉ်းစားပါ။

php<?php
  $arr = [1, 2, 3, [4, 5, [6, 7]], [8, [9, 10]]];
?>

ပြန်လည်ခေါ်သုံးခြင်းကို အသုံးပြု၍ ဤအချက်အလက်၏ အခြေခံအစိတ်အပိုင်းအားလုံးကို စမ်းသပ်မြင်ပါ။