လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> array_diff ၏အတွင်းပိုင်းကွပ်မျက်လုပ်ငန်းစဉ်ကိုခြေရာခံရန် XDebug ကိုသုံးပါ။

array_diff ၏အတွင်းပိုင်းကွပ်မျက်လုပ်ငန်းစဉ်ကိုခြေရာခံရန် XDebug ကိုသုံးပါ။

M66 2025-06-06

PHP ပရိုဂရမ်တွင် array_diff () သည် ကွဲပြားခြားနားမှုများနှင့်အခြားခင်းကျင်းမှုတွင်ပါ 0 င်သောအခြားခင်းကျင်းမှုများတွင်မတူကွဲပြားမှုများနှင့်နှိုင်းယှဉ်ရန်အလွန်လက်တွေ့ကျသောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ သို့သော်အထူးသဖြင့် debugging သို့မဟုတ်စွမ်းဆောင်ရည်ဆိုင်ရာခွဲခြမ်းစိတ်ဖြာခြင်းအခြေအနေများတွင်၎င်း၏အတွင်းပိုင်းကွပ်မျက်လုပ်ငန်းစဉ်ကိုနက်ရှိုင်းစွာနားလည်ရန်အထူးအရေးကြီးသည်။

ဤဆောင်းပါးသည်သင့်အား array_diff () function ကိုခြေလှမ်းဆင့်ကိုခြေလှမ်းပြီးခြေလှမ်းပြီးခြေလှမ်းပြီးခြေလှမ်းပြီးခြေလှမ်းပြီးခြေလှမ်းဖြင့်စစ်ဆေးရန် XDebug ကိုအသုံးပြုရန် XDebug ကိုအသုံးပြုပါလိမ့်မည်။

1 ။ အဘိတ်: xdebug ကို install နှင့် configure configure

Debugging စတင်ခြင်းမပြုမီသင်၏ဖွံ့ဖြိုးရေးပတ် 0 န်းကျင်တွင် XDebug ကိုတပ်ဆင်ထားကြောင်းသေချာပါစေ။ အကယ်. သင်သည်ဘုံ PHP ပေါင်းစပ်ပေါင်းစည်းမှုပတ် 0 န်းကျင် (XAMPP, PAMAGA သို့မဟုတ် mampp) ကိုအသုံးပြုနေပါက xdebug ကိုကြိုတင်တပ်ဆင်ထားပြီးဖြစ်သည်။

command line မှတစ်ဆင့် install လုပ်မထား,

 php -v

xdebug နှင့်အတူ စကားလုံးသည် output တွင်ပါ 0 င်ပါက xdebug အဆင်သင့်ဖြစ်သည်ဟုဆိုလိုသည်။ သို့မဟုတ်ပါကသင့် PHP ဗားရှင်းနှင့် system platform အရသက်ဆိုင်ရာ XDebug version ကိုဒေါင်းလုတ် လုပ်. install လုပ်ရန်အောက်ပါလင့်ခ်ကိုသင်ဝင်ရောက်ကြည့်ရှုနိုင်သည်။

 https://xdebug.org/wizard

Configuration ပြီးနောက် Php.ini တွင်အောက်ပါအကြောင်းအရာများကိုထည့်ပါ။

 zend_extension=xdebug.so
xdebug.mode=debug
xdebug.start_with_request=yes
xdebug.client_host=127.0.0.1
xdebug.client_port=9003

2 ။ နမူနာကုဒ်: array_diff ကိုသုံးပါ။

array_diff () ၏အပြုအမူကိုစမ်းသပ်ရန်ရိုးရှင်းသော PHP script ကိုဖန်တီးသည်။

 <?php
$array1 = ["apple", "banana", "cherry"];
$array2 = ["banana", "kiwi"];

$result = array_diff($array1, $array2);

echo "<pre>";
print_r($result);
echo "</pre>";

// စာမျက်နှာတစ်ခု simulate,သရုပ်ပြသည် URL Debug လမ်းကြောင်း
header("Location: https://m66.net/debug-result");
exit;

ဤကုဒ်၏ရည်ရွယ်ချက်မှာ ဒေါ်လာ array1 မှထူးခြားသည့်ဒြပ်စင်များကိုရှာဖွေရန်ဖြစ်သည်။

 Array
(
    [0] => apple
    [2] => cherry
)

3 ။ Execution Process ကိုခြေရာခံရန် XDebug ကိုသုံးပါ

1 ။ debugging session ကိုစတင်ပါ

သင်၏ IDE (ထိုကဲ့သို့သော VS Code, PhpSmmorm) သည်နားထောင်ခြင်း port ကိုဖွင့်ထားပြီး array_diff () လိုင်းတွင် breakpoint ကိုဖွင့်ထားပါ။

သင်၏ဆာဗာကိုစတင်ပါ။ ဥပမာဤ PHP စာမျက်နှာကိုဝင်ရောက်ကြည့်ရှုပါ။

 http://localhost/array_diff_debug.php

အဆိုပါ IDE သည် breakpoints များကိုအလိုအလျောက်ဖမ်းယူနိုင်ပြီး Code Execution ကိုရပ်ဆိုင်းထားလိမ့်မည်။

2 ။ stack သတင်းအချက်အလက်ကိုကြည့်ပါ

Debug Panel တွင်အောက်ပါအချက်အလက်များကိုကြည့်ရှုနိုင်သည်။

  • Call stack : function ကို၏ခေါ်ဆိုမှုလမ်းကြောင်းကိုသင်တွေ့နိုင်သည်။

  • Local variable များ - $ array1 , $ array2 နှင့် $ ရလဒ်များကို သင်ကြည့်ရှုနိုင်သည်။

  • Globals : ရရှိနိုင်သည့်ကမ္ဘာလုံးဆိုင်ရာ variable တွေကိုအားလုံး၏အခြေအနေကိုသင်ကြည့်ရှုနိုင်သည်။

3 ။ ဆန်းစစ်ခြင်းကိုအဆင့်ဆင့်အားဖြင့်ဆောင်ရွက်ခြင်း

line-by-line debugging (တစ်ဆင့်ပြီးသွားသည်) မှတစ်ဆင့် array_diff () နှင့်၎င်း၏ပြန်လာ၏အမှန်တကယ်ခေါ်ဆိုမှုအချိန်ကိုသင်လေ့လာနိုင်သည်။ Array_diff () သည် built-in function တစ်ခုဖြစ်သော်လည်း၎င်း၏ပြည်တွင်းအကောင်အထည်ဖော်မှုလိုင်းကိုလိုင်းဖြင့်မ 0 င်နိုင်သည့် function ဖြစ်သည်။ ၎င်းသည်၎င်း၏ input နှင့် output လုပ်ငန်းစဉ်ကိုရှင်းရှင်းလင်းလင်းမြင်နိုင်သည်။

ထို့အပြင် XDebug သည် function call tracing ကိုထောက်ပံ့သည်။ အောက်ပါချိန်ညှိချက်များကို configuration file ထဲတွင် enable လုပ်နိုင်သည်။

 xdebug.mode=trace
xdebug.start_with_request=yes
xdebug.output_dir="/var/www/html/xdebug_trace"

ထို့နောက် script ကို run ပြီးသင်ထုတ်လုပ်ထားသော .xt ဖိုင်ကိုသတ်မှတ်ထားသောလမ်းညွှန်တွင်တွေ့ရလိမ့်မည်။

 0.1234  -> array_diff(array, array)
0.1235  <- array_diff() = array(...)

ဤအချက်က array_diff () ကို 0.1234 စက္ကန့်အတွင်းဟုခေါ်သည်။

4 ။ array_diff နောက်ကွယ်ရှိယန္တရားကိုနက်နက်ရှိုင်းရှိုင်းနားလည်သည်။

array_diff () ကို Xdebug မှတစ်ဆင့်ကျွန်ုပ်တို့အခြေခံ C အကောင်အထည်ဖော်မှုကိုမ 0 င်နိုင်သော်လည်း PHP source code ရှိ array.c ဖိုင်၏သက်ဆိုင်ရာအကောင်အထည်ဖော်မှုကိုကျွန်ုပ်တို့ရည်ညွှန်းနိုင်သည်။

အတိုချုပ်, array_diff () ၏ပြည်တွင်းရေးယုတ္တိဗေဒသည်အောက်ပါအတိုင်းဖြစ်သည် -

  1. ပထမဆုံးခင်းကျင်းမှုတစ်ခုစီ၏ဒြပ်စင်တစ်ခုစီမှတစ်ဆင့်ကြားနာပါ။

  2. Element တစ်ခုစီအတွက်, နောက်ဆက်တွဲခင်းကျင်းမှုတွင်ရှာဖွေခြင်းကိုပြုလုပ်သည်။

  3. အကယ်. element ကိုနောက်ဆက်တွဲခင်းကျင်းမှုတွင်မပေါ်ပါကရလဒ်ခင်းကျင်းမှုတွင်ထည့်သွင်းထားသည်။

  4. "တင်းကြပ်သောနှိုင်းယှဉ်နှိုင်းနှိုင်းယှဉ်မှု", ၎င်းသည် Element တန်ဖိုးများတန်းတူရှိမရှိဆုံးဖြတ်ရန် == ကို အသုံးပြုပါ။

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

5 ။ အကျဉ်းချုပ်

XDebug ကို Debug array_diff () ကိုအသုံးပြုခြင်းသည်၎င်း၏အပြုအမူကိုနားလည်ရန်အကောင်းဆုံးနည်းလမ်းဖြစ်သည်။ ၎င်းသည်၎င်း၏ Internal source code ကိုတိုက်ရိုက်မထည့်နိုင်သော်လည်း function tracking, variable လေ့လာရေး, စွမ်းဆောင်ရည်လေ့လာရေး,

ဤ debugging technique သည် array_diff () အတွက်မသင့်တော်သော်လည်းအခြားရှုပ်ထွေးသောလုပ်ဆောင်မှုများသို့မဟုတ်စီးပွားရေးဆိုင်ရာယုတ္တိဗေဒကိုခွဲခြမ်းစိတ်ဖြာခြင်းကိုယေဘူယျအားဖြင့်ပြုလုပ်နိုင်သည်။