0
if ((!in_array("9", $settingid)) || ($username1 == $username2) && ($username_viewed_by_other2 != "-view-by-other-people")) { //start function }

$ username1がまだ設定されていないため、警告メッセージが表示されるようになりました。

if(isset($username1)){ //start function }$ username1が設定されていないときに関数を実行する必要があるため、使用できません。この競合状況を修正するにはどうすればよいですか?

4

3 に答える 3

1

この場合、ここでできることはたくさんあります。

最も簡単な方法は、変数がまだ設定されていない場合は、変数を定義することです。

if (!isset($username1)) $username1 = '';
if ((!in_array("9", $settingid)) || ($username1 == $username2) && ($username_viewed_by_other2 != "-view-by-other-people")) {
//start function
}

もう1つは、使用する前に検証することです。

if ((!in_array("9", $settingid)) || (isset($username1) && ($username1 == $username2)) && ($username_viewed_by_other2 != "-view-by-other-people")) {
//start function
}

変数を宣言しないことが「必要」である場合(私は非常に疑わしく、推奨しません)、PHPでこれらの通知をオフにすることができます。

error_reporting(E_ALL ^ E_NOTICE);

これにより、他のすべてのエラーは引き続き表示されますが、「未定義の変数」などの通知は非表示になります。

于 2012-07-13T19:28:30.737 に答える
0

@変数に追加するか、のempty代わりに関数を使用してみてくださいisset

于 2012-07-13T19:25:25.150 に答える
0

not演算子を使用するだけです

if(!isset($username1)) { /*do function*/ }

このifステートメントは、基本的に変数が設定されていないかどうかを尋ねます。

于 2012-07-13T19:26:32.333 に答える