2017-03-27 12 views
-2

をマージこれは私のPHPの配列である:PHPの垂直配列は

$array['title'] = array(0 => 'John', 1 => 'Wick'); 
$array['price'] = array(0 => '100$', 1 => '200$'); 
$array['count'] = array(0 => 88900, 1 => 92000); 

私はこのようにそれを変換したい:私はこれにビッグデータを尽くします

$result[0] = array('title' => 'John', 'price' => '100$', 'count' => 88900); 
$result[1] = array('title' => 'Wick', 'price' => '200$', 'count' => 92000); 

。最も効果的な解決策は何ですか?

+0

'array_column()'を見てみましょう。 – Rizier123

答えて

0

多分これを行うネイティブな方法がありますが、これは動作します: これが最も効果的な方法ですか?私はそれをベンチマークするつもりです。

$array['title'] = array(0 => 'John', 1 => 'Wick'); 
$array['price'] = array(0 => '100$', 1 => '200$'); 
$array['count'] = array(0 => 88900, 1 => 92000); 

foreach($array['title'] as $k=>$v){ 
    $result[$k]['title']=$v; 
    $result[$k]['price']=$array['price'][$k]; 
    $result[$k]['count']=$array['count'][$k]; 
} 

print_r($result); 
> Array (
>  [0] => Array 
>   (
>    [title] => John 
>    [price] => 100$ 
>    [count] => 88900 
>  ) 
> 
>  [1] => Array 
>   (
>    [title] => Wick 
>    [price] => 200$ 
>    [count] => 92000 
>  ) 
> 
>) 
+0

空のキーやミスマッチキーがあると、これが失敗するか、予期しない結果になることがあります。フェイルセーフを追加してください。 –