چطور یک متغیر شامل چند ارایه رو با حلقه foreach پیمایش کنیم

PHP

توسط mahbobe-prog در 4 سال پیش
0 2.3k 10 4 سال پیش
mahbobe-progrockstarphp-secc0derdaniel

نظرسنجی:

در کل 0 رأی 0%
0

البته در حالتی که آرایه از نوع :$arrayName = array('key' => value );هست پیمایش به صورت زیر صورت میگیره:

foreach ($variable as $key => $value) {
        # code...
    }

اگر مشکل با این روش حل نشد آرایه خروجی رو قرار بدین تا بررسی بشه

آخرین ویرایش: 28-09-2014 ساعت 21:48، توسط rockstar
0

نتیجه اجرا رو قرار بدین اینجا. منظور همون آرایه هایی رو که خروجی میگیرین

0

به این صورت:

<?php
foreach($files as $file){
	echo $file;
}
?>
0

> البته در حالتی که آرایه از نوع :`$arrayName = array('key' => value );` هست پیمایش به صورت زیر صورت میگیره: ``` foreach ($variable as $key => $value) { # code... } ``` اگر مشکل با این روش حل نشد آرایه خروجی رو قرار بدین تا بررسی بشه

با عرض پوزش از دوستان حواسم نبود بجای ارسال پاسخ اصل سوال تاپیک رو ویرایش کردم شرمنده واقعا :52: mahbobe.prog لطفا مجدد سوال رو بپرسین با عرض شرمندگی :14:

0

خواهش. دشمنتون شرمنده متد listFolderFiles() خروجی اون چند تا ارایه س که داخل یه متغیر ریخته شده . من ازین متد داخل متدی دیگه استفاده کردم میخام که ارایه های اون پیمایش بشه ولی وقتی از foreach استفاده کردم به متغیر $array ارور میگیره باید چیکار کنم؟

function listFolderFiles($dir)
{
    $ffs = scandir($dir);
	$files = array() ;
    foreach($ffs as $ff)
	{
        if($ff != '.' && $ff != '..')
		{
			$files[] = $ff ;
            if(is_dir($dir.'/'.$ff))
			$files[] = $this -> listFolderFiles($dir.'/'.$ff);
        }
	}
	//return $files ;
	var_dump($files) ;
}

اینم متد NameDB()

function NameDB($dir)
	{
		$this -> dbName = array() ;		
		$array = $this ->  listFolderFiles($dir) ;
		foreach($array as $num => $fields)
		{
			$name = basename($fields);
			$this -> dbName[] = (chop($name , '.php')) ;			
		}
		return $this -> dbName ;
	}

اینم نتیجه اجرای متد NameDB()

array(1) { [0]=> string(7) "db1.php" } array(1) { [0]=> string(7) "db2.php" } array(6) { [0]=> string(10) "subSql.php" [1]=> string(11) "subsql1.php" [2]=> string(4) "ver1" [3]=> NULL [4]=> string(4) "ver2" [5]=> NULL } Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\cms\CMSclass.php on line 11


0

لطفا یکی جواب سوال منو بده:sadsmiley:

0

پست بالایی جوابتونه فکر کنم حل نشده؟

0

> پست بالایی جوابتونه فکر کنم حل نشده؟
نه هنوز جواب سوالمو نگرفتم:sadsmiley:
0

مگه راه دیگه ای هم بجز اونایی که c0der و rockstar گفتن هست؟ الان مشکل شما چی هستش؟

0

راهنمایی در طریقه استفاده از foreach شده در حالی که من مشکلم اینه که متغیر $array که در foreach استفاده کردم به جای اینکه یه ارایه داشته باشه همون طور که از کدای بالام میبینین چند تا ارایه داره واسه همین ارور میگیره چیکار کنم که بشه همه اون ارایه ها با هم پیمایش بشه اگه غیر از این روش راه حل دیگه ای هست لطفا بگین ممنون میشم

0

اول باید آرایه چند بعدی رو به آرایه تک بعدی تبدیل کنی بعد با foreach نمایش بدیم

$flat = iterator_to_array(new RecursiveIteratorIterator(new RecursiveArrayIterator($multi_array)), 0);
foreach ($flat as $k ){
	echo $k;
}

بجای multi_array$ آرایه رو بذار.

خوش آمدید

برای طرح سوال، ایجاد بحث و فعالیت در سایت نیاز است ابتدا وارد حساب کاربری خود شوید. در صورتی که هنوز عضو سایت نیستید میتوانید در عرض تنها چند ثانیه ثبت نام کنید.

لطفا ابتدا لاگین کنید