PHP切换一个对象,无论是字符串还是数字

时间:2018-05-30 06:03:03

标签: php json object

我试图从json数据中得到一些东西,所以这是我的json数据

    $json = '
    {
        "type": {
            "image" : [
                {"data" : "PNG"}
            ],
            "title" : [
                {"value" : "OJKAOSKAOSK"}
            ],
            "text" : [
                {"value" : "asdsada"}
            ]
        }
    }';

    $form = json_decode($json);

然后将其设为json_decode();

的对象

之后我试图做这样的开关:

    foreach ($form as $type) {
        print_r($type->image);
        switch($type) {
            case 'image':
                echo 'image_data';
            break;
            case 'text' :
                print_r('text_value');
            break;
            case 'title' :
                print_r('title_value');
            break;
            default:
                print_r('none');
            break;
        }
    }

事情是我无法使用案例'字符串'看到这些数据,但我可以看到$form->type->image$type->image的数据是否有可能使用字符串作为情况?

1 个答案:

答案 0 :(得分:3)

你可以试试这种方式

 <?php 
foreach ($form->type as $key => $val) {
        echo $key;
        switch($key) {
            case 'image':
                echo 'image_data';
            break;
            case 'text' :
                print_r('text_value');
            break;
            case 'title' :
                print_r('title_value');
            break;
            default:
                print_r('none');
            break;
        }
    }
?>

它应该按照你期望的方式工作。