【问题标题】:how to get value from array in php如何在php中从数组中获取值
【发布时间】:2016-01-16 08:53:26
【问题描述】:

这是某个对象中的 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;
}
        )

)

【问题讨论】:

  • 对象名->联系人列表[0];

标签: php arrays regex preg-match


【解决方案1】:

您可以尝试使用此更新的解决方案

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

【讨论】:

  • 您好,我没有得到联系人值,而是我在数组中得到了这个'{'。
  • @GauravJhaloya 你知道var_dump 是做什么的吗?
  • 是的,我知道它只是用他的类型打印数组。
  • { 联系人 = 4155553695;名称=“凯特贝尔”;是字符串值还是json编码值?
【解决方案2】:

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

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 &$matches [, int $flags = 0 [, int $offset = 0]]])

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多