douxi2011
douxi2011
2016-03-28 23:30

PHP从数组中获取特定值

已采纳

I am currently using facebook php and am trying to get a specific page name based off of a user entered name.

For example lets say I have an array of (Apple,Orange,Pear). I have a variable $var = "Pea". How would i set a new variable lets say result = Pear. At the moment I am hardcoding in the exact facebook page name like so :

    if($key['name']=="Exact Page Name HERE"){
        $post = $fb->post('/' . $key['id'] . '/feed',$params, $key['access_token']);
        $post = $post->getGraphNode()->asArray();
        echo ("Post successful");
    }

My goal is to be able to get the array of user managed pages from facebook and then compare the name of each page to the user entered variable and set the page name = to the name that matches the variable the closest.

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • dongqu2863 dongqu2863 5年前

    You can use strpos() to see if the substring $var is in an array element. It will return 0 if $var is found at the beginning of the string.

    foreach ($array as $index => $el) {
        if (strpos($el, $var) === 0) {
            // match found, do what you want
        }
    }
    

    Make sure you use ===, not ==, because strpos returns false if the string is not found, and what you use loose comparison false == 0.

    If you want to match anywhere in the string, use strstr()

    if (strstr($el, $var)) {
        // match found, do what you want
    }
    
    点赞 评论 复制链接分享