0 レビュー
1 回答
php-stdClassオブジェクトを値でいくつかのブロックに分割します
配列 (( [0]=>stdClassオブジェクト (( [id] => 1 [user_id] => 30 [カテゴリ]=>1 [グループ]=>1 )。 [1]=>stdClassオブジェクト (( [id] => 3 [user_id] => 30 [カテゴリ]=>3,2 [グループ]=>3 )。 )。
こんにちは、データベースからこのサンプルデータがあります。複数の値(この場合は2番目のブロック)を持つブロックを[category]値で分割する必要があります。グループ3は2つのカテゴリ3と2に属しており、誰かがその方法をアドバイスできます。やれ?事前にあなたより
わからない
0
レビュー
答え :
解決策:
$data1 = new stdClass();
$data1->id = 1;
$data1->user_id = 30;
$data1->category = 1;
$data1->group = 1;
$data2 = new stdClass();
$data2->id = 3;
$data2->user_id = 30;
$data2->category = [ 3, 2 ];
$data2->group = 3;
$data = [ $data1, $data2 ];
$result = [];
foreach ($data as $item) {
if (is_array($item->category)) {
foreach($item->category as $category) {
$clone = clone $item;
$clone->category = $category;
$result[] = $clone;
}
} else {
$result[] = $item;
}
}
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。