PDA

View Full Version : حرفه ای: گرفتن یک مقدار در کوکی (حل شد)



trasilver
چهارشنبه 27 شهریور 1392, 03:22 صبح
سلام خدمت دوستان گرامی .
ما مثلا توی کوکی x این مقدار رو داریم :

a:b,c:d
حالا ما چطور بیایم و ببینیم که جلوی a یعنی بعد از : مقدار b هست یا اصلا مقدار نداره یا اصلا برابر k باشه یا هر چیز دیگه ای .
توجه کنید مقدار کوکی که مثلا نوشتم a:b این ها در واقع مثال هستند مثلا این شکلی هستش :

mohammad:yes,ali:no
ممنون میشم کمک بکنید .

Tarragon
چهارشنبه 27 شهریور 1392, 06:41 صبح
سلام محمد
بفرمایید :

<?php
$string = 'alia:yes,mohammad:no';//$string = $_COOCKIE['name'];
$string = explode(',', $string);
$data = array();
foreach($string as $value){
$value = explode(':', $value);
$data[$value[0]] = $value[1];
}
print_r($data);

2undercover
چهارشنبه 27 شهریور 1392, 07:11 صبح
سلام محمد
بفرمایید :

<?php
$string = 'alia:yes,mohammad:no';//$string = $_COOCKIE['name'];
$string = explode(',', $string);
$data = array();
foreach($string as $value){
$temp[] = explode(':', $value);
foreach($temp as $value2){
$data[$value2[0]] = $value2[1];
}
}
print_r($data);

الان یکی ریختن مقدار explode شده توی یک ایندکس جدید توی متغیر temp برای من جا نمی افته, یکی هم استفاده از foreach دوم:



$string = 'ali:yes,mohammad:no';
$string = explode(',', $string);
$data = array();
foreach($string as $value) {
$value = explode(':', $value);
$data[$value[0]] = $value[1];
}

Tarragon
چهارشنبه 27 شهریور 1392, 08:19 صبح
سلام
بله حق با شماست.
ویرایش کردم.

MMSHFE
چهارشنبه 27 شهریور 1392, 08:32 صبح
این کد، تغییر یافته همون کد دوستمونه که سعی کردم فهمش راحتتر باشه:


<?php
if(isset($_COOKIE['x'])) {
$cx = array_map('trim', explode(',', $_COOKIE['x']));
$data = array();
foreach($cx as $item){
list($key, $value) = array_map('trim', explode(':', $item));
$data[$key] = $value;
}
print_r($data);
}
?>

این کد، اول مقدار COOKIE به اسم x رو چک میکنه که اصلاً وجود داره یا نه و اگه بود، برحسب کارکتر , اون رو میشکنه و تبدیل به آرایه میکنه و توی متغیر cx$ میگذاره. بعد یک آرایه خالی به اسم data$ میسازه و برای هرکدوم از مقادیر آرایه cx$، دوباره اون خونه از آرایه رو برحسب کارکتر : میشکنه و خونه اول رو توی متغیر key$ و خونه دوم رو توی value$ میگذاره و یک خونه جدید به آرایه data$ اضافه میکنه که اندیسش، key$ و مقدارش value$ هست. از array_map هم برای این استفاده شده که مقادیر ذخیره شده در کوکی trim بشن و فواصل خالی ابتدا و انتهاشون حذف بشه که البته ضروری نیست و میتونید حذفش کنید.

trasilver
چهارشنبه 27 شهریور 1392, 15:00 عصر
تشکر ویژه دارم از تمامی دوستانی که در این امر مارا یاری کردند .
با تشکر .