مشکل در کد

پرسیده شده
فعالیت 1040 روز پیش
دیده شده 401 بار
0

سلام استاد با عرض سلام و احترام 

یه سوالی داشتم و آن هم این بود که من تو کدی که اینجا ارسال کردم سعی کردم ساختار foreach  را برای ساختار while  بنویسم اما مشکلی که هست، سن و نقش کاربران درون آرایه رو به درستی نشان نمیده.

 میخواستم ببینم مشکلش از کجاست چون بیرون از حلقه همه ساختار ها رو امتحان کردم و به درستی کار میکنه اما درون حلقه به مشکل میخوره .

<?php
$users=array(
    "ali"=>[
        "role"=>"admin",
        "age"=>20,
        "username"=>"ali22"
    ],
    "sara"=>[
        "role"=>"user",
        "age"=>22,
        "username"=>"sara1"
    ],
    "hamid"=>[
        "role"=>"customer",
        "age"=>23,
        "username"=>"hamid22",
    ],
    "taha"=>[
        "role"=>"admin",
        "age"=>24,
        "username"=>"hamid22",
    ],
);
$counter = 0;
$key = array_keys($users);
$value = $users[$key[$counter]];
echo "<hr><hr><p style='color:red;'>while loop</p>";
while($counter < sizeof($key)){
    echo "<pre>name : {$key[$counter]},<br>age : {$value['age']},<br>role : {$value['role']},</pre>";
    $counter++;
}
echo "<hr><hr><p style='color:red;'>foreach</p>";
foreach ($users as $key => $value) {
    echo "<pre> name : {$key} ,<br> age : {$value['age']} ,<br> role : {$value['role']} </pre>";
}  
فایل پیوست

1
حذف شده

سلام و احترام

متغیر value که بیرون از حلقه while بود رو باید میاوردید داخل حلقه white تا با هر بار دور حلقه مقدارش تغییر کنه

 

<?php

$users=array(
    "ali"=>[
        "role"=>"admin",
        "age"=>20,
        "username"=>"ali22"
    ],
    "sara"=>[
        "role"=>"user",
        "age"=>22,
        "username"=>"sara1"
    ],
    "hamid"=>[
        "role"=>"customer",
        "age"=>23,
        "username"=>"hamid22",
    ],
    "taha"=>[
        "role"=>"admin",
        "age"=>24,
        "username"=>"hamid22",
    ],
);
$counter = 0;
$key = array_keys($users);
echo "<hr><hr><p style='color:red;'>while loop</p>";
while($counter < sizeof($key)){
    $value = $users[$key[$counter]];

    echo "<pre>name : {$key[$counter]},<br>age : {$value['age']},<br>role : {$value['role']},</pre>";
    $counter++;
}
echo "<hr><hr><p style='color:red;'>foreach</p>";
foreach ($users as $key => $value) {
    echo "<pre> name : {$key} ,<br> age : {$value['age']} ,<br> role : {$value['role']} </pre>";
}  
فایل پیوست

امیر صالحی

توسط

امیر صالحی

10 تیر 00