0

重複の可能性:
PHP で 2 つの並列インデックス付き配列から連想配列を作成する最も簡単な方法は何ですか?

次のようなインデックス付き配列を変換する方法:

$a = array("foo", "bar", "hallo", "world");

次のようなインデックス付きの連想配列からの値を持つ連想配列に:

$a = array(
    "a1" => "foo",
    "b5" => "bar",
    "f7" => "hallo",
    "n4" => "world"
);

多分いくつかのPHPコア機能?

または、同じようなバリアントkeys:

$a = array(
    "key" => "foo",
    "key" => "bar",
    "key" => "hallo",
    "key" => "world"
);

UPD

のような関数があればいいのですがarray_merge()、キーの配列と値の配列を受け入れて、結果配列を作成します。

4

2 に答える 2

16
$keys = array('a1', 'b5', 'f7', 'n4');
$a = array_combine($keys, $a);

配列インデックスは一意でなければならないため、同じキーを使用することはできません。

于 2012-09-07T07:23:51.220 に答える
0

キーがランダムな場合、次のようにできます。

$a = array("foo", "bar", "hallo", "world");

$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
$size = strlen( $chars );   
$num="0123456789";

$a_s=array();

foreach($a as $art)
{
    $rand= $chars[ rand( 0, $size - 1 ) ].$num[ rand( 0, 9 ) ];

    $a_s[$rand]=$art;
}

$a=$a_s;
print_r($a);
于 2012-09-07T07:28:57.243 に答える