1
妥当性検査が成功した場合はtrueを返し、妥当性検査が失敗した場合はエラーの配列を返したい妥当性検査機能を持っています。しかし、関数がtrueを返すかどうかをチェックすると、返された値が配列であってもtrueを返します。どうしてこれなの?PHP "trueなら"配列のテストは常にtrueを返しますか?
$array = ['test' => 'test'];
if ($array == true)
{
echo 'true';
}
と私は、文字列と同じ試してみました::私が何を意味するかのさらなる例として
$string = 'string';
if ($string == true)
{
echo 'true';
}
そして、両方が真のエコー。
これはなぜですか?これを行うことができれば、なぜisset()関数が必要なのでしょうか?マニュアルhttp://php.net/manual/en/types.comparisons.php
Expression gettype() empty() is_null() isset() boolean
-----------------------------------------------------------------------
$x = array(); array TRUE FALSE TRUE FALSE
$x = array('a', 'b'); array FALSE FALSE TRUE TRUE
$x = ""; string TRUE FALSE TRUE FALSE
$x = "php"; string FALSE FALSE TRUE TRUE
に記載されているように
検索 'in_array()' – aldrin27
配列に 'count()'を使用できます。配列が0の場合はfalseです。 – kunicmarko20
これらはオプションであることを知っています - なぜ "本当ですか?そしてなぜif($ variable)を使うことができるのであれば、なぜisset関数が必要なのでしょうか? – user3640967