私は、PHPでオブジェクト指向プログラミングを実験しています。私のPHPコードをもっと使いやすく、よりモジュラーにするためです。この配列がPHPクラスの配列として認識されないのはなぜですか?
最終的にクリックして、私はそれを取得し、コード内でクラスを使用する利点を見ていますが、テストでは、私はかなりわからない問題に遭遇しました。
は、私は、ユーザーの名前の二つの配列を持つ
$commDocsAdminUsers
$commDocsAdminExecutiveUsers
私は新しい$あるCurrentUserを作成するには、次のクラスがあり、ユーザーが発見され、それらの2つの配列のどの見つけることin_array使用しようとしています。
私はそれが配列の配列であると思いませんと言うPHPのエラーを取得しておいてください。
Warning: in_array() expects parameter 2 to be array, null given in - on line 25
ここに私が...
を使用してんですよ<?php
//ARRAYS OF USERS TO CHECK AGAINST
$commDocsAdminUsers = array("kaisersolze", "bennyblanco", "carlitobrigante", "ashylarry", "claytonbigsby");
$commDocsAdminExecutiveUsers = array("waltjr", "skylerwhite", "tuco", "skinnypete", "walterwhite");
class userLogin {
// ALLOWS US TO SET THE NAME OF USER
function set_name($new_name) {
$this->name = $new_name;
}
// ALLOWS US TO GET THE NAME OF USER
function get_name() {
return $this->name;
}
// ALLOWS US TO CHECK THE ACCESS LEVEL OF THE USER... FIND WHICH ARRAY USER IS IN
function check_access() {
if (in_array("kaisersolze", $commDocsAdminUsers)){
return "Match found in comDocsUsers Array";
}
else if (in_array($this->name, $commDocsAdminExecutiveUsers)){
return "Match found in comDocsUsers Array";
}
else {
return "No Access Allowed"; // USER NOT FOUND IN EITHER ARRAY
}
}
}
// NOW LETS DO SOME STUFF WITH OUR NEW CLASS
$currentUser = new userLogin(); // INVOKE THE NEW USER CLASS
$currentUser->set_name("kaisersolze"); // SET NAME OF CURRENT USER
print_r($currentUser); // SHOW THE FULL OBJECT $CURRENTUSER
echo '<BR>-------------------------------------------------------------<BR>';
echo $currentUser->get_name(); // ECHO OUT THE NAME FOR THE $CURRENTUSER
echo '<BR>--------------------------------------------------------------<BR>';
echo $currentUser->check_access(); // CHECK TO SEE WHICH ARRAY THE USER IS IN
?>
私のクラスからどのようにしてin_arrayを正常に実行できますか?
グローバルにする – anon
グローバル$ commDocsAdminExecutiveUsersを追加しました。グローバル$ commDocsAdminUsers;私のPHPの最上位にあり、それでも同じ結果が得られます。 – tamak
@EdCottrell確かに、質問には(後見で)同じ回答がありますが、明らかに質問は「完全な重複」ではありません。私が時間と空間を曲げない限り。しかし、ありがとう。 – tamak