အေရီး walk_recursive လုပ်ဆောင်ချက်

အကြံပြုထားသော လုပ်ဆောင်ချက် array_walk_recursive ကို ဘက်ပေါင်းစုံ အေရီးရှိ အရာဝတ္ထုအားလုံးအပေါ် အသုံးပြုသည်။ အောင်မြင်စွာ ပြီးဆုံးပါက true သို့မဟုတ် အမှားတစ်ခု ဖြစ်ပေါ်ပါက false ကို ပြန်ပေးသည်။ ပထမအကြောင်းအရာအဖြစ် လုပ်ဆောင်ချက်သည် အေရီးတစ်ခုကို လက်ခံပြီး ဒုတိယအကြောင်းအရာအဖြစ် - callback လုပ်ဆောင်ချက် ဖြစ်သည်။

Callback လုပ်ဆောင်ချက်သို့ အကြောင်းအရာနှစ်ခု ပို့ပေးသည်။ ပထမအကြောင်းအရာအဖြစ် အေရီးရှိ အရာဝတ္ထု၏ တန်ဖိုး သွားသည်၊ ဒုတိယအကြောင်းအရာအဖြစ် - key ဖြစ်သည်။

လုပ်ဆောင်ချက်သို့ ပို့ထားသော အေရီးသည် ၎င်းကိုယ်တိုင် မပြောင်းလဲပါ။ သို့သော် ၎င်းကို ရယူနိုင်သည် အရာဝတ္ထုကို လင့်ခ်အားဖြင့် ပို့ခြင်းဖြင့်။

ဝါကျဖွဲ့စည်းပုံ

phparray_walk_recursive(array|object &$array, callable $callback, mixed $arg = null): bool

ဥပမာ

ဘက်ပေါင်းစုံ အေရီးတစ်ခုကို ဖြတ်သန်းကြည့်ပြီး ၎င်း၏ key များနှင့် အရာဝတ္ထုများကို ပြသကြပါစို့:

php<?php
  $arr = [
    'a' => 1,
    'b' => 2,
    'c' => [
      'd' => 3,
      'e' => 4,
    ],
  ];
  
  array_walk_recursive($arr, function($elem, $key) {
    echo $key . ' ' . $elem . '<br>';
  });
?>

ကုဒ်အလုပ်လုပ်ခြင်း၏ ရလဒ်:

php'a 1'
'b 2'
'd 3'
'e 4'

ဥပမာ

အေရီးတစ်ခုကို ဖြတ်သန်းကြည့်ပြီး ၎င်း၏ အရာဝတ္ထုများကို စတုရန်းအထိ တင်ကြပါစို့:

php<?php
  $arr = [
    'a' => 1,
    'b' => 2,
    'c' => [
      'd' => 3,
      'e' => 4,
    ],
  ];
  
  array_walk_recursive($arr, function(&$elem, $key) {
    $elem = $elem ** 2;
  });
  
  var_dump($arr);
?>

ကုဒ်အလုပ်လုပ်ခြင်း၏ ရလဒ်:

php[
  'a' => 1,
  'b' => 4,
  'c' => [
    'd' => 9,
    'e' => 16,
  ],
];

ဒါ့အပြင်ကြည့်ပါ

  • လုပ်ဆောင်ချက် array_walk,
    အေရီး၏ အရာဝတ္ထုများအတွက် လုပ်ဆောင်ချက်ကို ခေါ်ဆိုသည်
  • လုပ်ဆောင်ချက် array_map,
    အေရီး၏ အရာဝတ္ထုများသို့ လုပ်ဆောင်ချက်ကို အသုံးပြုသည်
  • လုပ်ဆောင်ချက် array_filter,
    အေရီးကို စစ်ထုတ်သည်
  • လုပ်ဆောင်ချက် array_reduce,
    အေရီးကို ခေါက်သိမ်းသည်