PDA

View Full Version : حذف مواردي از يك رشته كاراكتر و تبديل به آرايه



tux-world
یک شنبه 23 بهمن 1390, 08:16 صبح
سلام. من يه رشته كاراكتر به صورت زير دارم:

'1,2,3,4|5,6,7,8'
ميخوام كاركترهاي بعد | رو رو توي يه متغير ديگه بريزم. فقط توجه كنيد كه اين | هر جايي تو اين عبارت بالايي ممكنه باشه و ممكنه قبل از | هم هيچچي نباشه. با حلقه ميتونم اين كار رو انجام بدم ولي ميخواستم بدونم با preg_match چطوري ميشه اين كار رو كرد؟
مشكل ديگم اينه كه هر كودوم از اين عددهايي كه استخراج شده رو چطوري عدديش بكنم و هر عنصري از آرايه ست بشه؟

mohsen24000
یک شنبه 23 بهمن 1390, 09:04 صبح
$sample = "1,2,3,4,5";
$pieces = explode(",", $sample);
echo $pieces[0]; // 1
echo $pieces[1]; // 2
...

MMSHFE
یک شنبه 23 بهمن 1390, 09:10 صبح
$str = '1,2,3,4|5,6,7,8';
if(strpos($str, '|') !== false) {
$parts = explode('|', $str);
echo $parts[1];
}

نکته مهم: چون گفتین ممکنه قبل از | چیزی نباشه، بنابراین شرط if رو حتماً ==! بگذارین نه =! چون اگه خروجی، صفر باشه (اولین کارکتر | باشه)، مقایسه با false توسط عملگر =! نتیجه true برمیگردونه!

tux-world
یک شنبه 23 بهمن 1390, 11:32 صبح
ممنون . اين خطا ميده فقط:

Fatal error: Call to undefined function expldoe()

Reza1607
یک شنبه 23 بهمن 1390, 13:18 عصر
خطاي تاپيي
explode درسته

MMSHFE
یک شنبه 23 بهمن 1390, 16:15 عصر
:لبخند:
کد رو درست کردم. میگم کاش میشد ادیتور سایت هوشمند میشد. اینطوری واسه کدهایی که سریع تایپ میشن، خودش تشخیص میداد و مثلاً expldoe رو با explode جایگزین میکرد!