পিএইচপি ফোরচ লুপ কী মান


135

আমি এই ডিবি কলটি চালিয়ে যাচ্ছি আমাকে বহুমাত্রিক অ্যারে পেতে আমি প্রত্যেকটির কীগুলি পাওয়ার চেষ্টা করছি তবে যখন চেষ্টা করি এটি ফাঁকা বা অ্যারে হিসাবে আসে।

$root_array = array();
$sites = $this->sites($member_id);
foreach ($sites as $site){
    $records = $this->db->select('p.name as place_name, p.id as place_id,p.active as place_status')
                ->from('places p')
                ->join('members_permissions pm','pm.sites_id = p.sites_id and pm.members_id ='.$member_id)
                ->where('p.active', 0)
                ->get();

    $places = $records->result_array();
    $places['name'] = $site['name'];
    foreach($places as $place){
       $root_array[$site['name']][] = $place;
    }

}
return $root_array;

এখানে আমার পিএইচপি যা লুপ করে:

<?php foreach($places as $site): ?>
    <h5><?=key($site)?></h5>
        <?php foreach($site as $place): ?>
            <h6><?=$place['place_name']?></h6>
        <?php endforeach?>

<?php endforeach ?>

এছাড়াও যখন আমি একটি পরীক্ষা চালান যা কেবল অ্যারে আউট করে ফেলেছিল এটি ফলাফল, আমি যা রেন্ডার করতে চেষ্টা করছি তা হচ্ছে [ফিলাডেলফিয়া]

[Philadelphia] => Array
        (
            [0] => Array
                (
                    [place_name] => XYX
                    [place_id] => 103200
                    [place_status] => 0
                )

            [1] => Array
                (
                [place_name] => YYYY
                [place_id] => 232323
                [place_status] => 0
            )

উত্তর:


381

আপনি আপনার অ্যারে কীগুলিতে অ্যাক্সেস করতে পারেন:

foreach ($array as $key => $value)

এই পদ্ধতিটি কেবল 'অ্যারে' দেয়
ম্যাথহেব

কী, যদি আপনি cho কী প্রতিধ্বনি করেন? নাহ। যদি আপনি এটি অ্যারের উপর চালান না তবে এটি Philadelphiaএকটি কী। আপনি কিছু কোড প্রদর্শন করতে পারেন?
পেক্কা 18

এটি কাজ করে, আমার মাইএসকিএল বিবৃতিতে একটি ছোটখাটো সমস্যা ছিল তবে আমি এটি আপনার সমাধান সহকারে পেয়েছি, আপনাকে ধন্যবাদ।
ম্যাথহেব

32

যেমন পেক্কা উপরে বর্ণিত আছে

foreach ($array as $key => $value)

এছাড়াও আপনি একটি পুনরাবৃত্ত ফাংশন চেষ্টা করতে চাইতে পারেন

displayRecursiveResults($site);

function displayRecursiveResults($arrayObject) {
    foreach($arrayObject as $key=>$data) {
        if(is_array($data)) {
            displayRecursiveResults($data);
        } elseif(is_object($data)) {
            displayRecursiveResults($data);
        } else {
            echo "Key: ".$key." Data: ".$data."<br />";
        }
    }
}

8

আপনি ব্যবহার করতে পারেন array_keys()। নবাগত বন্ধুত্বপূর্ণ:

$keys      = array_keys($arrayToWalk);
$arraySize = count($arrayToWalk);

for( $i=0; $i < $arraySize; $i++ ) {
    echo '<option value="' . $keys[$i] . '">' . $arrayToWalk[$keys[$i]] . '</option>';
}

6
foreach($shipmentarr as $index=>$val){    
    $additionalService = array();

    foreach($additionalService[$index] as $key => $value) {

        array_push($additionalService,$value);

    }
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.