ถ้าผมมีstringเป็น
$details = 'Size=Large, Color=Black | Size=Small, Color=Red | Size=Small, Color=Green';
ทำยังไงให้ได้เป็น
Array (
[ 0 ] => Array (
[Size] => Large
[Color] => Black
)
[ 1 ] => Array (
[Size] => Small
[Color] => Red
)
[ 2 ] => Array (
[Size] => Small
[Color] => Green
)
)
งงไปหมดแล้ว..ช่วยแนะนำหน่อย
:wanwan031:
<?
$details = 'Size=Large, Color=Black | Size=Small, Color=Red | Size=Small, Color=Green';
$post = explode("|",$details);
$i = 0;
$banword = array("Size=","Color=");
foreach($post as $r){
$r = str_replace($banword,'',$r);
$returntext = explode(", ",$r);
}
?>
ต่อยอดเอาเองนะครับ เหลืออีกนิดหน่อย
แถม
<?
$details = 'Size=Large, Color=Black | Size=Small, Color=Red | Size=Small, Color=Green';
$post = explode("|",$details);
$i = 0;
$banword = array("Size=","Color=");
foreach($post as $r){
$r = trim(str_replace($banword,'',$r));
$returns = explode(", ",$r);
$post[$i] = array(
Size=>$returns[0],
Color=>$returns[1]
);
$i = $i+1;
}
?>
<pre><? print_r($post);?></pre>
อ้างถึงจาก: NightClub ใน 29 กันยายน 2010, 01:42:04
แถม
<?
$details = 'Size=Large, Color=Black | Size=Small, Color=Red | Size=Small, Color=Green';
$post = explode("|",$details);
$i = 0;
$banword = array("Size=","Color=");
foreach($post as $r){
$r = trim(str_replace($banword,'',$r));
$returns = explode(", ",$r);
$post[$i] = array(
Size=>$returns[0],
Color=>$returns[1]
);
$i = $i+1;
}
?>
<pre><? print_r($post);?></pre>
โหสุดยอด +1(ยังบวกไม่ได้ ขอติดไว้ก่อน)
แล้วถ้ามันมีมากกว่า Size, Colorหล่ะครับ หากมี Style , Shop , Discount , Price ฯลฯ เพิ่มมาอีก ต้องเพิ่มตรงไหนครับ ใส่ใน $banwordได้เลยเปล่าครับ?
ิbanword เอาไว้ตัดคำ จะได้ใช้ explode เอาออกมาได้ง่ายๆครับ เช่น
$details = 'Size=Large, Color=Black ,Memory=2Gb';
$banword = array("Size=","Color=","Memory=");
เราต้องเพิ่ม
$post[$i] = array(
Size=>$returns[0],
Color=>$returns[1],
Memory=>$returns[2]
);
แค่นี้แหละครับ พอดีว่างๆเลยนั่งทำให้