私はこれを持っています:
$strVar = "key value";
そして、私はこれを取得したい:
array('key'=>'value')
私は爆発()でそれを試しましたが、それは私にこれを与えます:
array('0' => 'key',
'1' => 'value')
元の $strVar は、すでに展開された文字列の結果であり、結果の配列のすべての値をループしています。
私はこれを持っています:
$strVar = "key value";
そして、私はこれを取得したい:
array('key'=>'value')
私は爆発()でそれを試しましたが、それは私にこれを与えます:
array('0' => 'key',
'1' => 'value')
元の $strVar は、すでに展開された文字列の結果であり、結果の配列のすべての値をループしています。
1 回の操作でこれが可能だとは思わないでください。ただし、これでうまくいくはずです。
list($k, $v) = explode(' ', $strVal);
$result[ $k ] = $v;
$strVar = "key value";
list($key, $val) = explode(' ', $strVar);
$arr= array($key => $val);
編集: 私の間違い、爆発の代わりに分割を使用しましたが:
split() 関数は、PHP 5.3.0 で非推奨になりました。この機能に依存することはお勧めしません
2 つおきの文字列をループできます。
$how_many = count($array);
for($i = 0; $i <= $how_many; $i = $i + 2){
$key = $array[$i];
$value = $array[$i+1];
// store it here
}
これを試して
$str = explode(" ","key value");
$arr[$str[0]] = $str[1];
$pairs = explode(...);
$array = array();
foreach ($pair in $pairs)
{
$temp = explode(" ", $pair);
$array[$temp[0]] = $temp[1];
}
しかし、配列とexplode
. したがって、あなたが私たちに与えていない制約があるかもしれません。質問を更新して説明することができます。
別の 1 行:
parse_str(str_replace(' ', '=', $strVar), $array);
文字列に 2 つ以上の単語がある場合は、次のコードを使用します。
$values = explode(' ', $strVar);
$count = count($values);
$array = [];
for ($i = 0; $i < $count / 2; $i++) {
$in = $i * 2;
$array[$values[$in]] = $values[$in + 1];
}
var_dump($array);
は、$array
奇数位置の単語key
と偶数位置の単語を$value
それぞれ保持します。