2016-12-27 5 views
1

私はlaravel 5.2を使用しています。質問があります。要求入力配列を決定する方法は空ですか?

http://localhost/test?sports[]=soccer&sports[]=basketball 

私は2つの要素を持つ配列としてスポーツを得ることができます。

しかし、私は次のようにリクエストを送信する場合:

http://localhost/test?sports[] 

私は$sports = $request->input('sports')でそれを得る、私はそれは空の配列だと思うが、それは実際にはありません。私はそれをvar_dump()

array(1) { [0]=> string(0) "" } 

だから、誰かが、私は要求入力配列データが空であるかを決定することができますどのように私に言うことができますか?


補足:ここ

マイroutes.php

​​

私は本当のhttp://localhost/test?sports[]

この出力にアクセスします。

+0

のvar_dumpのようなものである場合には、emprty配列[]を返し

$request->someCoolName('sports'); // returns [] 

は '$要求 - >は( 'スポーツ')'出力をチェックしてい偽でなければなりません。 – Froxz

+0

いいえ、trueを出力します。 – DengDeng

答えて

1

私はそこにすべてのあなたが必要なもののための機能が内蔵されていますが、としてマクロRequestを作成することができるとは思わない:

Request::macro('someCoolName', function ($key) { 
    return is_array($this->input($key)) && (count($this->input($key)) == 1) && empty($this->input($key)[0]) ? [] : $this->input($key); 
}); 

注 - App\Providers\AppServiceProviderboot()方法でそれを追加します。

として、あなたがそれを使用することができます:あなたのURLがhttp://localhost/test?sports[]

関連する問題