【问题标题】:PHP Implode/explode [closed]PHP内爆/爆炸[关闭]
【发布时间】:2014-09-11 20:30:00
【问题描述】:

这里有数据

            '7000000000000088757' : 'Orchid',
            '7000000000000088737' : 'Lavender',
            '7000000000000000053' : 'White',
            '7000000000000000487' : 'Pink',
            '7000000000000000536' : 'Yellow',
            '7000000000000140533' : 'Tangerine'

我只需要

            Orchid
            Lavender
            White
            Pink
            Yellow
            Tangerine

如何仅通过 PHP 获取这些值

【问题讨论】:

  • 我认为这可以通过爆炸功能完成,但我没有经验。你能帮帮我吗

标签: php explode implode


【解决方案1】:

试试这个

$string = "'7000000000000088757' : 'Orchid',
            '7000000000000088737' : 'Lavender',
            '7000000000000000053' : 'White',
            '7000000000000000487' : 'Pink',
            '7000000000000000536' : 'Yellow',
            '7000000000000140533' : 'Tangerine'";

$values = array();

preg_match_all("/[a-zA-Z]{1,}/", $string, $values);

那么你有

Array
(
    [0] => Array
        (
            [0] => Orchid
            [1] => Lavender
            [2] => White
            [3] => Pink
            [4] => Yellow
            [5] => Tangerine
        )

)

【讨论】:

  • 如何在每种颜色中添加
    标签?
  • @DJMHA 我不明白,<br> 标签在哪里?
【解决方案2】:

你可以试试这个

        $initial_string =
        "'7000000000000088757' : 'Orchid',
        '7000000000000088737' : 'Lavender',
        '7000000000000000053' : 'White',
        '7000000000000000487' : 'Pink',
        '7000000000000000536' : 'Yellow',
        '7000000000000140533' : 'Tangerine'";      

        $exp1 = array(explode(",",$initial_string));
        $exp2 = array();
        for($x=0;$x<count($exp1[0])-1;$x++)
        {
            $exp2[] = explode(":",$exp1[0][$x]);
        }
        for($y=0;$y<count($exp2);$y++)
        {
            echo $exp2[$y][1];    //this is to print out the flower names
        }

【讨论】:

    【解决方案3】:

    你的问题有点含糊。这些是单独的字符串吗?很简单:

    $array = explode(':', $value);
    $word = $array[1]
    

    如果是一个字符串,则先将其拆分,然后提取值

    $array1 = explode(',' $string);
    foreach($array1 as $value) {
         $array = explode(':', $value);
         $word = $array[1];
         $word_no_commas = preg_replace("/ '(.+)'/i", "$1", $word);
    }
    

    如果您使用的是 PHP 5.4+,您可以这样做:

    $arrray = explode(':', $value)[1];
    

    【讨论】:

    • 逗号和多余的空格怎么办?
    • 我现在已经添加了 ;),不确定
    猜你喜欢
    • 1970-01-01
    • 2012-01-13
    • 1970-01-01
    • 2016-05-18
    • 2019-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多