سلام وقت بخیر
من یه متغیر دارم که داخلش چند تا ارایه س . الان میخوام که بشه اون ارایه ها رو پیمایش کنم چون این متغیر ارایه نیست نمیتونم همون اول از foreach استفاده کنم باید چیکار کنم لطفا راهنماییم کنین
سلام
فکر کنم قبلا پاسخ داده شده [url]http://www.softafzar.net/thread2508-2.html#post5849[/url]
ممنون
ولی من جوابمو توی اون تایپیک نگرفتم اخه اون متغیر اصلا ارایه نیس فقط حاوی چند تا ارایه هستش. لطفا راهنماییم کنین:sadsmiley:
والا اون کدی که من گذاشتم هم واسه همینه! چند آرایه رو به یک آرایه تبدیل میکنه.
نتیجه var_dump ارایه رو میذارید؟
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 ;
}
<br>
> 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
<br>php.sec
اونی رو که شما گفته بودین رو اعمال کردم ولی همون طور که گفته بودم متغیر $array از نوع ارایه نیست ک بشه ازین متدی که شما گفتین یا اینکه بخوام از foreach استفاده کنم . میخوام که ارایه های داخل متغیر $array رو پیمایش کنم باید چیکار کنم؟؟
نتیجه متد باید آرایه باشه چطور نیست!
من همون متد شما رو امتحان کردم نتیجه true بود یعنی ارایست.
نتیجه این چیه؟
$is = getType($array) ;
حتما یجایی اشتباه کردید به متد باید آدرس فولدر رو بدید.
ممنون php . sec
مشکل از ادرس فولدر نبود ولی اشکال کارمو متوجه شدم .
ببخشین اذیت شدین
بازم ممنون:rolleyessmileyanim:
سوال برنامه نویسی دارید؟
ندونستن عیب نیست، نپرسیدن چرا!