[英]How do I go from an array of key => “array of values” to an array of an array of “key => values” in php
[英]How do I loop a nested array in laravel to get an array based on conditions of key values from that array
我只想獲取選項不為空的數組當我成功取回數組時,我還想將其添加到數據庫中,但最重要的是我想取回數組
array:3 [
0 => array:5 [
"id" => 6
"option" => "True"
"is_correct" => true
"label" => "True"
"opid" => 1
]
1 => array:5 [
"id" => 7
"option" => "False"
"is_correct" => false
"label" => "False"
"opid" => 1
]
2 => array:5 [
"id" => 8
"option" => null
"is_correct" => false
"label" => "Theory"
"opid" => 5
]
]
預期結果
array:3 [
0 => array:5 [
"id" => 6
"option" => "True"
"is_correct" => true
"label" => "True"
"opid" => 1
]
1 => array:5 [
"id" => 7
"option" => "False"
"is_correct" => false
"label" => "False"
"opid" => 1
]
]
我的嘗試
foreach($request->option as $option) {
if($option["option"] == null){
dd($option)
}
}
我只從數組中獲取第一個值.. 看起來我的 if 條件不起作用
我會在評論中謝謝你
嘗試except
方法,
閱讀文檔 - https://laravel.com/docs/8.x/eloquent-collections#method-contains
假設您的$request->option
包含數組,則
$filtered = collect($request->option)->whereNotNull('option')->all()->toArray();
參考: https : //laravel.com/docs/8.x/collections#method-wherenotnull
使用$z
變量,它根據您的要求包含數組。
演示: https : //paiza.io/projects/FTTBeEEnb-EHHJbU8FOAYw
$x = [
[
"id" => 6,
"option" => "True",
"is_correct" => true,
"label" => "True",
"opid" => 1
],
[
"id" => 7,
"option" => "False",
"is_correct" => false,
"label" => "False",
"opid" => 1
],
[
"id" => 8,
"option" => null,
"is_correct" => false,
"label" => "Theory",
"opid" => 5
]
];
$z = [];
foreach ($x as $y) {
if ($y['option'] != null) {
array_push($z, $y);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.