نحوه پیمایش چند آرایه که در یک آرایه ذخیره شده؟

PHP

توسط mahbobe-prog در 4 سال پیش
0 1.3k 6 4 سال پیش
mahbobe-progphp-sec
0

سلام وقت بخیر من یه متغیر دارم که داخلش چند تا ارایه س . الان میخوام که بشه اون ارایه ها رو پیمایش کنم چون این متغیر ارایه نیست نمیتونم همون اول از foreach استفاده کنم باید چیکار کنم لطفا راهنماییم کنین

0

سلام فکر کنم قبلا پاسخ داده شده [url]http://www.softafzar.net/thread2508-2.html#post5849[/url]

0

ممنون ولی من جوابمو توی اون تایپیک نگرفتم اخه اون متغیر اصلا ارایه نیس فقط حاوی چند تا ارایه هستش. لطفا راهنماییم کنین:sadsmiley:

1

والا اون کدی که من گذاشتم هم واسه همینه! چند آرایه رو به یک آرایه تبدیل میکنه. نتیجه var_dump ارایه رو میذارید؟

0
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) ;
}
function NameDB($dir)
	{
		$this -> dbName = array() ;		
		$array = $this ->  listFolderFiles($dir) ;
		$is = is_array($array) ;
		var_dump($is) ;
		$flat = iterator_to_array(new RecursiveIteratorIterator(new RecursiveArrayIterator($array)), 0);
		foreach($flat as $num => $fields)
		{
			$name = basename($fields);
			$this -> dbName[] = (chop($name , '.php')) ;			
		}
		return $this -> dbName ;
	}

> 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 } bool(false) Fatal error: Uncaught exception 'InvalidArgumentException' with message 'Passed variable is not an array or object, using empty array instead' in C:\xampp\htdocs\cms\CMSclass.php:13 Stack trace: #0 C:\xampp\htdocs\cms\CMSclass.php(13): ArrayIterator->__construct(NULL) #1 C:\xampp\htdocs\cms\CMSclass.php(79): CMS->NameDB('sql') #2 {main} thrown in C:\xampp\htdocs\cms\CMSclass.php on line 13

php.sec اونی رو که شما گفته بودین رو اعمال کردم ولی همون طور که گفته بودم متغیر $array از نوع ارایه نیست ک بشه ازین متدی که شما گفتین یا اینکه بخوام از foreach استفاده کنم . میخوام که ارایه های داخل متغیر $array رو پیمایش کنم باید چیکار کنم؟؟

1

نتیجه متد باید آرایه باشه چطور نیست! من همون متد شما رو امتحان کردم نتیجه true بود یعنی ارایست. نتیجه این چیه؟

$is = getType($array) ;

حتما یجایی اشتباه کردید به متد باید آدرس فولدر رو بدید.

0

ممنون php . sec مشکل از ادرس فولدر نبود ولی اشکال کارمو متوجه شدم . ببخشین اذیت شدین بازم ممنون:rolleyessmileyanim:

خوش آمدید

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

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