douxi2011 2016-03-28 15:30
浏览 41
已采纳

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 2016-03-28 16:02
    关注

    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
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?