0

そして、次の機能で言及されているディスプレイフレンド機能

 function displayfriends($major, $friends) {
    // Whatever markup you want here
    // For example -- unordered list
if (count($friends) > 0) {
echo "<h2>Friends with $major major</h2>";
echo '<ul>';
foreach ($friends as $friend) {
    echo "<li>$friend</li>";
}
echo '</ul>';

}}

これは、UIを操作するためのテスト機能です
 function getFriendsWithMajor($major) {
 $config = array(
 'appId' => '',
 'secret' => '',
 );
 $facebook = new Facebook($config);
 $user_id = $facebook->getUser();
 try {
 $fql    =   "select uid,name,education from user WHERE uid IN (select uid2 from friend where uid1=($user_id))";
 $param  =   array(
 'method'    => 'fql.query',
 'query'     => $fql,
 'callback'  => ''
 );
 $fqlResult   =   $facebook->api($param);
 } catch(Exception $o) {
    d($o);
 }

 $friends = $fqlResult;
 $friends_BA = array();

 foreach ($friends as $friend) {
     if (is_array($friend['education'])) {
         foreach ($friend['education'] as $school) {
             if (isset($school['concentration'])) {
                foreach ($school['concentration'] as $concentration) {
                    if (strpos(strtolower($concentration['name']), $major) !== false) {
                        $friends_BA[] = $friend['name'];
                        continue 3; // skip to the next friend
                    }
                }
             }
        }
    }
}
$this->displayfriends($major);

}

私が得ている出力は次のとおりです。警告:social :: displayfriends()の引数2がありません。これは、234行目の/home/content/07/8316707/html/class.Social.phpで呼び出され、/ home /content/で定義されています。 07/8316707 / html / class.Social.php(183行目)

$ this-> displayfriends($ major、$ friends)を実行したとき、15を返すはずだったときに1つの結果しか返さなかったことを覚えておいてください。

4

1 に答える 1

0

私はあなたが探しているものを理解していると思います。基本的に、php 配列と、関数でパラメーターを使用する方法を理解する必要があります。print_r は、表示される出力を生成するデバッグ ツールです。配列データを使用するには、それを直接処理する必要があります。最も簡単な方法は、それを foreach することです。両方の概念を強化するためだけに、表示用に別の関数を作成しました。

function getFriendsWithMajor($major) {
     $config = array(
     'appId' => 'XXXXXXX',
     'secret' => 'XXXXXXXXXX',
     );
     $facebook = new Facebook($config);
     $user_id = $facebook->getUser();
     try {
     $fql    =   "select uid,name,education from user WHERE uid IN (select uid2 from friend where uid1=($user_id))";
     $param  =   array(
     'method'    => 'fql.query',
     'query'     => $fql,
     'callback'  => ''
     );
     $fqlResult   =   $facebook->api($param);
     } catch(Exception $o) {
        d($o);
     }

     $friends = $fqlResult;
     $friends_BA = array();

     foreach ($friends as $friend) {
         if (is_array($friend['education'])) {
             foreach ($friend['education'] as $school) {
                 if (isset($school['concentration'])) {
                    foreach ($school['concentration'] as $concentration) {
                        if (strpos(strtolower($concentration['name']), $major) !== false) {
                            $friends_BA[] = $friend['name'];
                            continue 3; // skip to the next friend
                        }
                    }
                 }
            }
        }
    }
    displayfriends($major, $friends_BA);
}

表示機能

function displayfriends($major, $friends) {
        // Whatever markup you want here
        // For example -- unordered list
  if (count($friends) > 0) {
    echo "<h2>Friends with $major major</h2>";
    echo '<ul>';
    foreach ($friends as $friend) {
        echo "<li>$friend</li>";
    }
    echo '</ul>';
  }
}

関数の呼び出し:

getFriendsWithMajor('**business**);
getFriendsWithMajor('**marketing**);
于 2012-05-10T02:32:03.480 に答える