私は、文字列マルチデムPHPの文字列 - カンマで区切られた、コロン区切りのアレイ
$string = 'S:1,M:1,L:1,XL:1,XXL:1,3XL:1';
を持って、私は
$array['S'] = 1;
$array['M'] = 1;
配列を作成したい私は「」(私が爆発すると考えていました、$ string); 、次に分解する( ':'、$ string);再度;-) しかし、それはまったく動作しません。
私は、文字列マルチデムPHPの文字列 - カンマで区切られた、コロン区切りのアレイ
$string = 'S:1,M:1,L:1,XL:1,XXL:1,3XL:1';
を持って、私は
$array['S'] = 1;
$array['M'] = 1;
配列を作成したい私は「」(私が爆発すると考えていました、$ string); 、次に分解する( ':'、$ string);再度;-) しかし、それはまったく動作しません。
はい、あなたは二回explode()
ことができますが、二つ目は、ループにしておく必要があります:
$string = 'S:1,M:1,L:1,XL:1,XXL:1,3XL:1';
// Split on the commas
$sizes = explode(",", $string);
// Output array
$quantities = array();
// Loop over the first explode() result
foreach ($sizes as $size) {
// Assign each pair to $s, $q
list($s, $q) = explode(":", $size);
// And put them onto an array keyed by size
$quantities[$s] = $q;
}
// This builds an array like:
Array
(
[S] => 1
[M] => 1
[L] => 1
[XL] => 1
[XXL] => 1
[3XL] => 1
)
$string = 'S:1,M:1,L:1,XL:1,XXL:1,3XL:1';
$result = array();
foreach (explode(',',$string) as $sub){
$subAry = explode(':',$sub)
$result[$subAry[0]] = $subAry[1];
}
var_dump($result);
分割し、分割して繰り返し、結果の配列をキーと値のペアとして挿入します。
これを試してみてください:
$str = 'S:1,M:1,L:1,XL:1,XXL:1,3XL:1';
$tokens = explode(',', $str);
$sizes = array();
foreach ($tokens as $el) {
list($k, $v) = explode(':', $el);
$sizes[$k] = $v;
}
print_r($sizes);
・ホープ、このことができます:)
ああこれは基本的に他の答えのいくつかと同じです。より速く入力する必要があります:) –
ユーレカを!ありがとう..素敵で簡単! –