다음 함수는 대학에서 주어진 과목을 전공하는 활성 사용자의 친구 목록을 검색합니다. 데이터는 Facebook GRAPH API에서 가져옵니다. 등이 여기에 나의 실패 자상입니다배열의 다차원 배열에서 값 찾기
이제function getCollegeFriends() {
$config = array(
'appId' => 'XXXXXXXXXXXXX',
'secret' => 'XXXXXXXXXXXXXX',
);
$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) {
$isBA = false;
if (is_array($friend['education'])) {
foreach ($friend['education'] as $school) {
if (isset($school)) {
foreach ($school['school'] as $name) {
$lowerName = strtolower($name);
if (strpos($lowerName, 'university of central florida') !== false || strpos($lowerName, 'ucf') !== false) {
$friends_BA[] = $friend['name'];
continue 3; // skip to the next friend
}
}
}
}
}
}
echo '<pre>';
print_r($friends_BA);
echo '</pre>';
}
나는 같은 회사에서 일 친구의 목록을 반환하는 함수에 일하고 있어요, 동일한 작업 위치를 유지 (이 기능은 작동) 함수는 다음과 같습니다.
function getWorkerFriends() {
$config = array(
'appId' => 'XXXXXXXXX',
'secret' => 'XXXXXXXXX',
);
$facebook = new Facebook($config);
$user_id = $facebook->getUser();
try {
$fql = "select uid,name,work_history 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) {
$isBA = false;
if (is_array($friend['work_history'])) {
foreach ($friend['work_history'] as $employer) {
if (isset($employer)) {
foreach ($employer['location'] as $name) {
$lowerName = strtolower($name['company_name']);
if (strpos($lowerName, 'ubs') !== false || strpos($lowerName, 'merion') !== false) {
$friends_BA[] = $friend['name'];
continue 3; // skip to the next friend
}
}
}
}
}
}
echo '<pre>';
print_r($friends_BA);
echo '</pre>';
}
이 솔루션은 빈 배열을 반환하지만 테스트 사용자에게는 함수 요구 사항을 충족하는 친구가 있습니다. 아래는 사용자의 친구 목록입니다. 제안 된 솔루션에 대한 도움을 주시면 대단히 감사하겠습니다.
(참고 : 나는이 문제를 지금 하루 세에있어 당신이 빈을 찾을 때까지 모든 변수에 대한
[124] => Array
(
[uid] => 553325624
[name] => Persons Name
[current_location] => Array
(
[city] => Los Angeles
[state] => California
[country] => United States
[zip] =>
[id] => 110970792260960
[name] => Los Angeles, California
)
[work_history] => Array
(
)
[education] => Array
(
[0] => Array
(
[school] => Array
(
[id] => 111894272160018
[name] => Spanish River Community High School
)
[type] => High School
)
[1] => Array
(
[school] => Array
(
[id] => 110186095670702
[name] => North Broward Preparatory Schools
)
[type] => High School
)
)
)
[125] => Array
(
[uid] => 560613217
[name] => Persons Name
[current_location] => Array
(
[city] => Summit
[state] => New Jersey
[country] => United States
[zip] =>
[id] => 103727996333163
[name] => Summit, New Jersey
)
[work_history] => Array
(
[0] => Array
(
[location] => Array
(
[city] =>
[state] =>
)
[company_name] => Camp High Rocks
[description] =>
[start_date] =>
[end_date] =>
)
)
[education] => Array
(
[0] => Array
(
[school] => Array
(
[id] => 106165586082302
[name] => Summit Senior High School
)
[type] => High School
)
[1] => Array
(
[school] => Array
(
[id] => 6192688417
[name] => Stanford University
)
[year] => Array
(
[id] => 105576766163075
[name] => 2015
)
[type] => College
)
)
)
시작 위해서 var_dump. 당신에게 몇 가지 유용한 출력을 얻을해야합니다()와 스크립트가 실패 할 곳에 당신을 표시해야합니다. – Erik
정확히 어디서 찾으십니까? 뼈? 나는 몇 가지를 시도했지만 빈 배열이 있습니다. – buttonitup
오류는 데이터가있는 마지막 배열과 그렇지 않은 첫 번째 배열 사이에 있습니다. – Erik