0

私はこのような配列を持っています

array(
0 => "bar",
1 => "foo",
);

そして私はこのような出力が欲しい

array(
"bar" => "bar",
"foo" => "foo",
);

どうすればこれを達成できますか?

4

3 に答える 3

7

元の配列が厳密に数値配列であると仮定します

実際には非数値でも機能します。

array_combine($array, $array);

http://codepad.org/fxOmIh2D

于 2012-08-23T09:59:15.783 に答える
1
$arr = array(
0 => "bar",
1 => "foo",
);

$arrCombine = array_combine($arr, $arr);

print_r($arrCombine);
与える

配列
((
    [バー]=>バー
    [foo] => foo
)。
于 2012-08-23T10:32:14.373 に答える
1

非数値配列の場合

キーワークとして値を使用する単純なロジック

$array1 = array(
   0 => "bar",
   "cat" => "foo",);
foreach($array1 as $key => $value)
{
    $array1[$value] = $value;
    unset($array1[$key]);
}

var_dump($array1);

与える

array(2) {
  ["bar"]=>
  string(3) "bar"
  ["foo"]=>
  string(3) "foo"
}

そして、上記の厳密な使用の答えがあれば、私はより速く推測し、コードもきれいにします。

http://codepad.org/x3Z1zLjz

于 2012-08-23T10:08:17.863 に答える