私は値を含む2つの変数を持っています。変数は次のとおりです。PHPで変数を結合する
$a = "1a, 2a, 3a, 3a_oth, 4a, 4a_oth";
$b = "1, 1, 8, Port, 10, UNIX";
これを得るにはどうすればよいでしょうか?
$c = array('1a'=>'1', '2a'=>'1', '3a'=>'8', '3a_oth'=>'Port', '4a'=>'10', '4a_oth'=>'UNIX');
私は値を含む2つの変数を持っています。変数は次のとおりです。PHPで変数を結合する
$a = "1a, 2a, 3a, 3a_oth, 4a, 4a_oth";
$b = "1, 1, 8, Port, 10, UNIX";
これを得るにはどうすればよいでしょうか?
$c = array('1a'=>'1', '2a'=>'1', '3a'=>'8', '3a_oth'=>'Port', '4a'=>'10', '4a_oth'=>'UNIX');
あなたは2つの文字列を持っており、3番目の文字列ではなく、連想配列をしたいと仮定すると: `$のA =「1A、2A、3A、3a_oth:
$a = '1a, 2a, 3a, 3a_oth, 4a, 4a_oth';
$b = '1, 1, 8, Port, 10, UNIX';
function combine($a,$b){
$c='';
$aa = preg_split('/, /',$a);
$bb = preg_split('/, /',$b);
if(count($aa)!=count($bb))return false;
for($i=0;$i<count($aa);$i++){
$c.=$aa[$i].'='.$bb[$i];
if($i!=count($aa)-1)$c.=', ';
}
return $c;
}
echo combine($a,$b); // returns 1a=1, 2a=1, 3a=8, 3a_oth=Port, 4a=10, 4a_oth=UNIX
array_combine
の機能をご覧ください。
$a
と$b
は、コンマで区切られた文字列であり、配列ではないものとします。既に配列の場合は、explode
のステップをスキップして、直接array_combine
に渡すことができます。
$a = "1a, 2a, 3a, 3a_oth, 4a, 4a_oth";
$b = "1, 1, 8, Port, 10, UNIX";
$c = array_combine(explode(",", $a), explode(",",$b));
explode
関数は配列にコンマ区切り文字列をオンにします。
$a
に基づく配列は新しい配列のキーに使用され、$b
に基づく配列は値に使用されます。
上記の変数が配列であると仮定すると、array_combineを使用します。
$a
と$b
がコンマで区切られた文字列の場合は、最初にexplodeを使用します。
$a = explode("," $a); // only if $a is a string
$b = explode("," $b); // only if $b is a string
$a = array('1a', '2a', '3a', '3a_oth', '4a', '4a_oth'); // keys
$b = array('1', '1', '8', 'Port', '10', 'UNIX'); // values
$c = array_combine($a, $b);
// outputs array('1a' => '1', '2a' => '1', '3a' => '8' ...)
$ aと$ bのような文字列であります、4a、4a_oth、 ';' –
$ c ['1a'] = '1';等 – CountMurphy
これは有効なコードではありませんが、あなたはそれを見ています。実際のサンプルを提供してもらえますか、質問をクリアしてください。配列の組み合わせ*について話していますか? (ヒントヒント、それらのキーワードを検索!) – deceze