如何从php中的数组中获取值

时间:2016-01-16 08:53:27

标签: php arrays regex preg-match

这是一个php数组,在某些对象中我只需要获取联系人 来自这个PHP标准数组的值。只接触值而不是名称 值如何从这个对象获得所有联系人的价值。我想要 只接触联系人密钥。

stdClass Object
(
    [contactlist] => Array
        (
            [0] => {
    contact = 4155553695;
    name = "Kate Bell";
}
            [1] => {
    contact = 4085553514;
    name = "Daniel Higgins";
}
            [2] => {
    contact = 8885551212;
    name = "John Appleseed";
}
            [3] => {
    contact = 5555228243;
    name = "Anna Haro";
}
            [4] => {
    contact = 7075551854;
    name = "Hank Zakroff";
}
            [5] => {
    contact = 5556106679;
    name = "David Taylor";
}
            [6] => {
    contact = 542222222222;
    name = Deepak;
}
        )

)

2 个答案:

答案 0 :(得分:2)

您可以尝试使用此UPDATED解决方案

$result = array();
foreach ($object->contactlist as $k=>$v){
   preg_match('/(\d+)/s', $v, $contact);
   $result[] = $contact[0];
}
var_dump($result);

答案 1 :(得分:1)

您需要使用正则表达式来提取值。请尝试以下方法:

foreach ($obj->contactlist as $contactInfo) {
    preg_match('~^\s*contact\s*=\s*(\d+);$~m', $contactInfo, $matches);
    $contact = $matches[1];
    echo $contact . '<br />';
}

它将匹配“contact = 123;”格式的字符串并提取匹配的数字。

在此处阅读更多内容:http://php.net/preg_match

  

preg_match - 执行正则表达式匹配

     

用法 int preg_match(string $ pattern,string $ subject [,array&amp; $ matches [,int $ flags = 0 [,int $ offset = 0]]])