2012-05-06 11 views
0

私はObject Oriented PHP(www.killerphp.comのチュートリアルに従います)の概念を初めて勉強しました。私はすべてのPHPアプリケーションをOO PHPに移行する予定です。
私は、 "の条件で設定された"のオブジェクトプロパティに基づいて、データベースから許可レベルを読み取る私の最初のクラスを構築し始めました。 オブジェクト指向PHPリターンデータベースの行とアクセス配列の要素

は、私は、配列を返すためにマネージド 「getSecurity()」が、出力を印刷することは与える:

security Object 
(
    [secArray] => Array 
     (
      [from_date1] => 1992-01-01 
      [to_date1] => 0000-00-00 
      [from_date2] => 1992-01-01 
      [to_date2] => 0000-00-00 
      [view] => 1 
      [insert] => 0 
      [update] => 1 
      [delete] => 1 
      [valid] => 1 
     ) 

) 
/*"Array 1"*/ 

私の問題は、私は通常の配列のものに印刷出力に慣れていないだということです(以下)。

Array 
(
    [from_date1] => 1992-01-01 
    [to_date1] => 0000-00-00 
    [from_date2] => 1992-01-01 
    [to_date2] => 0000-00-00 
    [view] => 1 
    [insert] => 0 
    [update] => 1 
    [delete] => 1 
    [valid] => 1 
) 
/*"Array 2"*/ 

私の質問は以下のとおりです。 1)私は、アレイ1からgetSecurity()メソッド()からの私の配列の要素にアクセスするにはどうすればよいですか?
2)配列を正しく返すためにメソッドを取得するにはどうすればよいですか(配列2と同じ)?

コードスニペットは以下のとおりです。

はゲッターが値を返す

<?php 
class security 
{ 
    public $secArray = array(); 

    function setSecurity($user,$appid,$funid,$objid,$conn='') 
    { 
     $query="SELECT lu.DATE1 as from_date1, 
        lu.DATE2 as to_date1, 
        ga.DATE1 as from_date2, 
        ga.DATE2 as to_date2, 
        ga.VIEW as view, 
        ga.INSERT as insert, 
        ga.UPDATE as update, 
        ga.DELETE as delete, 
        ob.VALID as valid 
       FROM 
        user as lu 
        inner join group as ug on lu.GRP_ID = ug.ID 
        inner join privileges as ga on lu.GRP_ID = ga.GRP_ID 
        and ug.ID = ga.GRP_ID 
        inner join level1 as ob on ob.APP_ID = ga.APP_ID 
        and ob.FUN_ID = ga.FUN_ID 
        and ob.ID = ga.OBJ_ID 
       where 
        USERID = '$user' 
       and ga.APP_ID = $appid 
       and ga.FUN_ID = $funid 
       and ga.OBJ_ID = $objid"; 
     $result = mysql_query($query,$conn); 
     $row = mysql_fetch_assoc($result); 
     $this->secArray=$row; 
    } 

    function getSecurity() 
    { 
     return $this->secArray; 
    }  
} 
?> 
+0

'$ secArray-> secArray ['from_date1']'などです。 –

答えて

0

'security.php' は任意のサポート...

'test.phpを'

<?php 
include("connect.php"); 
include("security.php"); 
$secArray=new security(); 
$secArray->setSecurity('test_user',1,1,1,$link); 
$secArray->getSecurity(); 
echo "<pre>"; print_r($secArray); echo "</pre>"; 
?> 

のためにありがとうございました$secArray->getSecurity();を呼び出すと、返された値で何かをしない限り、本当に役に立ちません。 $mySecurity=$secArray->getSecurity();use $mySecurity...

配列やオブジェクトへのアクセスに関するPHPのドキュメントをお読みください。

+0

MarcとRADUに大きな助けをありがとう – yhammad

関連する問題