私は大量のデータをWebサービスから取得しています。多量のデータを取得すると、多次元の混合配列が返され、そこからの情報の10%しか必要ありません。 私は自分の目的に必要な情報だけを保持する柔軟な方法を探しています。配列情報を減らす
私はそれを行うPHPの機能や方法が見つかりませんでした。
私は間違ってはいません。私は値をフィルタリングしたくないので、要素をスライスしたくありません。
データベースの観点から見て、私はいくつかの列を「単純に」ドロップしたいと思っています。それ以上は:私は必要な列を保持し、私が必要としないすべての他のものをドロップしたいと私は知らない。
E.G.
Array
(
[0] => Array
(
[year] => 1979
[name] => Miller
[wage] => 100
[children] => Array
(
[0] => John
[1] => Kate
)
)
[1] => Array
(
[year] => 1983
[name] => Smith
[wage] => 200
)
[2] => Array
(
[year] => 1980
[name] => Mayer
[wage] => 200
[children] => Array
(
[0] => Tom
)
)
[3] => Array
(
[year] => 1981
[name] => Mayer
[wage] => 100
)
[4] => Array
(
[year] => 1980
[name] => Clinton
[wage] => 300
[children] => Array
(
[0] => Rosa
[1] => Dick
[2] => Christine
)
)
[5] => Array
(
[year] => 1981
[name] => Bush
[wage] => 200
)
)
今、問題が来る:
$big_array = array(
array("year" => 1979, "name" => "Miller", "wage" => "100", "children"=>array("John", "Kate")),
array("year" => 1983, "name" => "Smith", "wage" => "200"),
array("year" => 1980, "name" => "Mayer", "wage" => "200", "children"=>array("Tom")),
array("year" => 1981, "name" => "Mayer", "wage" => "100"),
array("year" => 1980, "name" => "Clinton", "wage" => "300", "children"=>array("Rosa", "Dick", "Christine")),
array("year" => 1981, "name" => "Bush", "wage" => "200"));
print_r($big_array);
は私にこれを提供します。私はWebサービスのマスターではないので、私はどのような追加情報を得るのか分かりません。私は必要な列だけを知っています。この場合、私は "名前"と "子供"しか必要としません。そして、私は子供がいないという理由だけで、配列の要素を失いたくはありません。
ので、返される配列は、次のようになります維持するためのキー/列の配列を含む第二引数で
$small_array=function($big_array, array("name","children"));
:
Array
(
[0] => Array
(
[name] => Miller
[children] => Array
(
[0] => John
[1] => Kate
)
)
[1] => Array
(
[name] => Smith
)
[2] => Array
(
[name] => Mayer
[children] => Array
(
[0] => Tom
)
)
[3] => Array
(
[name] => Mayer
)
[4] => Array
(
[name] => Clinton
[children] => Array
(
[0] => Rosa
[1] => Dick
[2] => Christine
)
)
[5] => Array
(
[name] => Bush
)
)
したがって、関数は次のようになります。
あなたを変換する必要があるので、正しいが、ユーザーニーズ機能機能付きコード。 – RJParikh