を抽出します。PHPの配列は、私は、クエリ文字列持つ
"condition=good;condition=not-good&features=ABS&features=ESP&features=ENT&brand=Honda&model=Traffic"
* 注意してください重複パラメータを
私が変換し、この機能を使用する - また、キー重複します - 配列へ:
function proper_parse_str($str) {
# result array
$arr = array();
# split on outer delimiter
$pairs = explode('&', $str);
# loop through each pair
foreach ($pairs as $i) {
# split into name and value
list($name,$value) = explode('=', $i, 2);
# if name already exists
if(isset($arr[$name])) {
# stick multiple values into an array
if(is_array($arr[$name])) {
$arr[$name][] = $value;
}
else {
$arr[$name] = array($arr[$name], $value);
}
}
# otherwise, simply stick it in a scalar
else {
$arr[$name] = $value;
}
}
# return result array
return $arr;
}
htmlをエコーするには、次のようにします:
//using the above function
$array=proper_parse_str($string);
foreach ($array as $key => $value) {
if (is_array($value)) {
foreach($value as $t) {
$e .="<li>".$t."</li>";
}
$mkey .="<ul><li><b>".$key."</b><ul>".$e."</ul></li></ul>";
} else {
$tt ="<li>".$value."</li>";
$mkey .="<ul><li><b>".$key."</b><ul>".$tt."</ul></li></ul>";
}
}
echo $mkey;
取得する:
Condition
good
not-good
Features
ABS
ESP
ENT
Brand
Honda
Model
Traffic
を私は得る:
Condition
good
not-good
Features
**good
**not-good
ABS
ESP
ENT
Brand
Honda
Model
Traffic
私を助けてください..
なぜ最初の2つのペアが? &の代わりに? – Nedec
値 '$ k'はどこに設定されていますか? –
'print_r($ arr)'を実行して、構築が実際に正しいかどうかを確認します。プリントアウトコードが少し不完全に見えます。 – poke