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

PHP

توسط mahbobe-prog در 5 سال پیش
0 33.8k 6 5 سال پیش
mahbobe-prog php-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:

خوش آمدید

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