11

のような配列があり['id' => 1, 'name' => 'Fred']ます。

array_mapこの配列を呼び出し、関数内でキーも使用したいと思います。ただし、返品すると、キーは int になります。

簡単な例:

$arr = array('id' => 1, 'name' => 'Fred');
$result = array_map(
    function ($value, $key) {
        return $value;
     },
     $arr,
     array_keys($arr)
);
var_dump($result);

$result基本的に、この場合と同じにしたいのです$arrが、文字列キーがintに変わります。

4

5 に答える 5

14

あなたが使用する最も近いものarray_map()はこれです:

<?php
$arr = array('id'=>1,'name'=>'Jon');

$callback = function ($key, $value) {
    return array($key => $value);
  };

$arr = array_map( $callback, array_keys($arr), $arr);
var_dump($arr);
?>

与えます:

   [
     [
       "id" => 1
     ],
     [
       "name" => "Jon"
     ]
   ]

foreach内部を使用して独自の関数を作成することをお勧めします。

于 2014-08-26T19:17:10.543 に答える