PDA

View Full Version : تعریف کردن آرایه با تعداد نامشخص اعضا (حل شد)



saeidkhphp
یک شنبه 03 اسفند 1393, 00:32 صبح
سلام دوستای گلم
ببخشید باز سوال میپرسم امیدوارم پروژمو که انجام دادم به همتون شیرینیشو میدم :))))

من یه متغیر دارم که مطعنم آرایه هست مثلا متغیر
$name این رو از درون یه تابع دیگه در آوردم و بخاطر همین میدونم که آرایه هست و وقتی از دستور
print_r($name) هم استفاده میکنم به صورت آرایه نمایش میده مثل این نتیجش میشه :


Array ( [0] => Array ( [0] => rezayemlmd [1] => tabeeee znbc [2] => ggfddfdffddd [3] => nmbmvvvvvcx [4] => nnmbmbmbbbbb [5] => fdgfffdfdgnbn [6] => nfnnnbnvvvdf [7] => ddfdfgfgfdfgdg [8] =>

و طول این آرایه نامشخصه ! میخواستم ببینم چجوری میشه یه جوری این آرایه رو با تعداد نا معلوم تعریف کرد که بتونیم عضو خاصی رو صدا بزنیم ، مثلا عضو [3] ممنون میشم راهنماییم کنید

معذرت میخوام واسه اینکه انقدر امروز سوال پرسیدم :(((

ممنون :)

MMSHFE
یک شنبه 03 اسفند 1393, 08:11 صبح
لطفاً سؤالتون رو بهتر توضیح بدین. کدها رو هم توی تگ PHP بگذارین که بهتر خونده بشه.

saeidkhphp
یک شنبه 03 اسفند 1393, 10:07 صبح
ممنون ، چشم ، من از تابع کلی زیر استفاده کردم :

int preg_match_all ( string $pattern , string $subject [, array &$matches [, int $flags =PREG_PATTERN_ORDER [, int $offset = 0 ]]] )


MMSHFE (http://barnamenevis.org/member.php?55504-MMSHFE) جان چند بار سعی کردم بین تگ های php بزنم کدام رو ولی اصن اون شکلی نشد انگاری همینجوری گذاشتی نمیرفت تو محیط مخصوصش :( چند بار هم ویرایش کردم نشد ، ببخشید :(


متغیر matches در کد بالا آرایه ای هست در کد خودم این جوری تعریف کردم :


<?php
$reza= "http://www.php.net"." http://www.google.net";
preg_match('@^(?:http://)?([^/]+)@i', $reza, $matches );
print_r($matches);
;<echo "<br>"
;(var_dump($matches)

و نتیجه هم این میده :

Array ( [0] => http://www.php.net http: [1] => www.php.net http: )
array (size=2)
0 => string 'http://www.php.net http:' (length=24) 1 => string 'www.php.net http:' (length=17)

سوالم رو تا یادم نرفته بگم ، این متغیر آرایه ای ما که اسمش matches هست و تو این مثال تعداد اعضاش معلومه ولی در پروژه ی اصلی نا مشخصه ، میخام یه جوری تعریفش کرد که بشه با وجود نمشخص بودن تعداد اعضاش بشه هر عضویش رو صدا زد مثلا : [echo $matches[12 خیلی ازتون ممنونم :لبخندساده:

MMSHFE
یک شنبه 03 اسفند 1393, 10:16 صبح
نه همونطوری درسته. دفعه اول نشون نمیده ولی بعد که صفحه رو Refresh کنید درست نشون میده.

saeidkhphp
یک شنبه 03 اسفند 1393, 11:08 صبح
ممنون ، مهندس جان جواب سوالم رو نمیشه بدید؟ خیلی لازمه برام :((((((
ممنون

MMSHFE
یک شنبه 03 اسفند 1393, 11:21 صبح
foreach($matches as $id => $match) {
echo '<p>' . $id . ' : </p>';
foreach($match as $item) {
echo '<p>' . $item . '</p>';
}
echo '<hr />';
}

saeidkhphp
یک شنبه 03 اسفند 1393, 11:29 صبح
یه دنیا ازتون تشکر میکنم ، اون دکمه ی سپاس کم بود ، واسه همین پست دادم ، خیلی لطف کردین ، ممنونم ازتون