လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ဒေတာများကိုအသုတ်တွင်ဒေတာများကိုပို့ရန် Array_SLICE ကိုသုံးပါ

ဒေတာများကိုအသုတ်တွင်ဒေတာများကိုပို့ရန် Array_SLICE ကိုသုံးပါ

gitbox 2025-05-27

အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ကြီးမားသောအချက်အလက်များကိုပြုပြင်သည့်အခါအချက်အလက်များကိုတောင်းဆိုခြင်းသည်အချိန်အလွန်အကျွံသောက်သုံးခြင်းသို့မဟုတ် interface ကန့်သတ်ချက်များကြောင့် API interface သို့ပေးပို့ရန်လိုအပ်သည်။ PHP ရှိ Array_Slice function သည်ကြီးမားသောအစုငယ်များသို့ကြီးမားသောသုတ်သင်ခြင်းများကိုဖြတ်တောက်ရန်နှင့်အစီအစဉ်၏တည်ငြိမ်မှုနှင့်ထိရောက်မှုကိုသေချာစေရန်ခြေလှမ်းတစ်လျှောက်လှမ်းရန်အလွန်သင့်လျော်သည်။

ဤဆောင်းပါးသည်အ သုတ် တွင်ကြီးမားသောဒေတာများကိုပြုလုပ်ရန်နှင့် API interface သို့ပို့ရန်နှင့် API interface သို့ပို့ရန်မည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။ ဥပမာရှိ URL domain name အားလုံးကို gitbox.net ဖြင့်အစားထိုးသည်။

1 ။ array_slice function ကိုမိတ်ဆက်

Array_Slice သည် PHP တွင် built-in ခင်းကျင်းရေးလုပ်ငန်းလည်ပတ်မှုတစ်ခုဖြစ်သည်။ အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

 array array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false)
  • $ array : ဖြတ်ခံရဖို့လိုအပ်တဲ့ array

  • $ offset : အနေအထားစတင်

  • $ အရှည် - ဖြတ်တောက်ခြင်း, ချန်လှပ်ပါက၎င်းသည်ခင်းကျင်းမှု၏အဆုံးသို့ရောက်လိမ့်မည်

  • $ Presentation_keys : မူလခင်းကျင်း၏သော့အမည်ကိုသိမ်းထားသင့်သည်ဖြစ်စေ,

$ offset နှင့် $ အရှည်ကို အဆက်မပြတ်ချိန်ညှိခြင်းဖြင့်အသုတ် segment ကိုအောင်မြင်နိုင်သည်။

2 ။ Big Data ၏သုတ်ထုတ်ခြင်း၏စိတ်ကူး

ကျွန်ုပ်တို့တွင် ဒေါ်လာငွေချေးယူထားသောငွေစာရင်း တစ်ခုရှိသည်ဆိုပါစို့။ ၎င်းသည်တစ်ချိန်တည်းတွင် API interface သို့ပို့ရန်အချက်အလက်များကိုယူရန်လိုအပ်သည်။ အောက်ပါအတိုင်းအဆင့်များမှာ -

  1. စုစုပေါင်းဒေတာအသံအတိုးအကျယ်နှင့်အသုတ်အရေအတွက်ကိုတွက်ချက်ပါ

  2. ကွင်းဆက်မှတစ်ဆင့် data တစ်ခုချင်းစီကိုအလှည့်အဖုံးတစ်ခုချင်းစီကိုကြားဖြတ်ရန် array_slice ကို သုံးပါ

  3. အသီးအသီးအသီးအပွင့်အသီးအသီး format ကို api မှလိုအပ်သော format ဖြင့် format

  4. curl တောင်းဆိုမှုကိုအသုံးပြုပြီး interface ကိုအချက်အလက်ပေးပို့ပါ

3 ။ Code ဥပမာ

အောက်ပါဥပမာသည် PHP တွင်အထက်ပါအဆင့်များကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုပြသသည်

 <?php

// ဤသည်ဆိုင်းငံ့ကြီးမားတဲ့ခင်းကျင်းသည်
$data = range(1, 1050); // ဖြစ်ပါှးစေ1ရောက်လာ1050ဥပမာအချက်အလက်များအနေဖြင့်နံပါတ်များ

$batchSize = 100; // တစ်ခုချင်းစီကိုသုတ်ခြင်းလုပ်ငန်းစဉ်100ညှစ်ခြင်း
$totalCount = count($data);
$totalBatches = ceil($totalCount / $batchSize);

$apiUrl = "https://api.gitbox.net/v1/process_data";

for ($batch = 0; $batch < $totalBatches; $batch++) {
    // အသုံးပြုarray_sliceလက်ရှိသုတ်ဒေတာကိုဖြတ်
    $currentBatch = array_slice($data, $batch * $batchSize, $batchSize);

    // ဒေတာကိုပြောင်းပါJSONပမာဏ(အရAPIတောင်းဆို)
    $postData = json_encode(['items' => $currentBatch]);

    // ဖြစ်ပေါ်လာခြင်းcurl
    $ch = curl_init($apiUrl);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        'Content-Type: application/json'
    ]);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);

    // တောင်းဆိုမှုကို execute
    $response = curl_exec($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

    if (curl_errno($ch)) {
        echo "Batch $batch curl error: " . curl_error($ch) . "\n";
    } elseif ($httpCode !== 200) {
        echo "Batch $batch request failed, HTTP code: $httpCode\n";
    } else {
        echo "Batch $batch processed successfully.\n";
    }

    curl_close($ch);

    // မလုပ်မနေရမဟုတ်သော:မြန်မြန်တောင်းဆိုခြင်းကိုရှောင်ကြဉ်ပါ,သင့်လျော်စွာအိပ်ပါ
    usleep(500000); // 0.5စက်ဏန့်
}

4 ။ အဓိကမှတ်စုများ

  • array_slice ကို သုံးသောအခါ စရာထူးသည်ဖြတ်တောက်ခြင်းကိုဖြတ်တောက်ချိန်တွင်ဒေတာထပ်ခါတလဲလဲမထပ်ပါနှင့်

  • ပြီးခဲ့သည့်အသုတ် 100 အောက်ရှိလွဲချော်သောအချက်အလက်များကိုကာကွယ်ရန်စုစုပေါင်းအစုအရေအတွက်ကိုတွက်ချက်ရန် Ceil ကို အသုံးပြုပါ။

  • တောင်းဆိုချက်ခေါင်းစဉ်သည် အကြောင်းအရာအမျိုးအစားကိုသတ်မှတ်သည်။ application / JSONSON သည်ခေတ်သစ် API စံနှုန်းများနှင့်ကိုက်ညီသည်။

  • အမှားကိုင်တွယ်ခြင်းသည်ဆံပင်ကောက်ကောက်တောင်းဆိုမှုပျက်ကွက်ခြင်းနှင့် HTTP status code သည် 200 မဟုတ်သည့်အခြေအနေကိုပြသသည်။ အမှန်တကယ်စီမံကိန်းများတွင် မူတည်. မှတ်တမ်းများသို့မဟုတ်ပြန်ကြိုးစားမှုယန္တရားများကိုလိုအပ်ချက်များနှင့်အညီထည့်သွင်းနိုင်သည်။

  • USeelep သည်အချိန်တိုတောင်းသောတောင်းဆိုမှုများကိုအလွန်အကျွံဖိအားပေးမှုကိုတားဆီးရန်, API ကန့်သတ်ချက်များအရချိန်ညှိနိုင်သည်။

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

PHP ၏ Array_slice function ကို အသုံးပြု. ကြီးမားသောဒေတာများကိုအသုတ်တွင်အလွယ်တကူနှင့်ထိရောက်စွာလုပ်ဆောင်နိုင်ပြီး curl တောင်းဆိုမှုများနှင့် API interface သို့အသုတ်များပို့နိုင်သည်။ ကျိုးကြောင်းဆီလျော်မှုအရွယ်အစားနှင့်တောင်းဆိုမှုကြားကာလနှင့်တောင်းဆိုမှုကြားကာလနှင့် interface ကိုဖိအားပေးမှုပြ problems နာများကိုထိထိရောက်ရောက်ရှောင်ရှားနိုင်ပြီးအချက်အလက်အပြောင်းအလဲအတွက်တည်ငြိမ်မှုနှင့်စွမ်းဆောင်ရည်ကိုပိုမိုကောင်းမွန်စွာရှောင်ရှားနိုင်သည်။