php - php - 檢查輸入數組是否為空 - Laravel 5.4

88 1

我有一個輸入看起來像這樣。


{!! Form::text('inventory[0][amount]', null, ['class'=>'form-control']) !!}


{!! Form::text('inventory[0][expiry_date]', null, ['data-format'=>'D, dd MM yyyy', 'class'=>'form-control']) !!}



print_r($_POST )結果


[inventory] => Array ( [0] => Array ( [amount] => 66 [expiry_date] => 2019/05/20 ) )



我正在嘗試檢查amountexpiry_date是否不是null


if ( $input['inventory[0][amount]'] and $input['inventory[0][expiry_date]'] != null )



得到了

Undefined index : inventory [0] [amount ]

时间: 原作者:

124 2

empty()試試這種方法!


if (!empty($_POST['inventory'][0]['amount']) && !empty($_POST['inventory'][0]['expiry_date']))


{ 


 //You code goes here


}



原作者:
84 5

你可以使用點符號和$request->filled($key)來實現這一點。

$request->filled(['inventory.0.amount', 'inventory.0.expiry_date'])

如果存在amount 和expiry_date,則返回true,不是空的。

例如。





use IlluminateHttpRequest;



// ...



public function store(Request $request)


{


 if ($request->filled(['inventory.0.amount', 'inventory.0.expiry_date'])) {


 // Both amount and expiry_date are present and not empty...


 }


}



原作者:
103 0

你沒有正確使用數組key,請將代碼替換為,


$arr = array(


 'inventory' => Array (


 0 => Array (


 'amount' => 66,


 'expiry_date' => '2019/05/20'


 ) 


 )


);



if($arr['inventory'][0]['amount'] and $arr['inventory'][0]['expiry_date'] != ''){



原作者:
119 5

此數組中沒有名為'inventory[0][amount]'的鍵,因此將按如下方式檢查它:


if(array_key_exists('inventory',$input) && 


 array_key_exists(0,$input['inventory']) && 


 array_key_exists('amount',$input['inventory'][0]) && 


 !empty($input['inventory'][0]['amount'])


//add for expiry too


 ){



}



原作者:
...