PHP根据条件创建数组或字符串

时间:2014-01-06 06:29:51

标签: php

在下面的代码中,我正在尝试基于if type is true or false创建数组或字符串。如果typetrue,那么我需要创建一个数组else我需要将事物保存为字符串。我在尝试如下,但它似乎不起作用。你能帮忙吗?

<?php
$type = True;

if($type){
    $body = "body['body']"; //Start an array
} else {
    $body = 'body'; //Just a string
}

$body  = 'Hello'; //$body = the value from up there

print_r($body);
?>

预期结果:

If type = true //Array
print_r($body);
Array ([body] => Hello)

If type = false //String
print_r($body); 
Hello

修改 数组或字符串的内容在if之外并且在它之后。我需要根据类型开始作为数组或sting。

4 个答案:

答案 0 :(得分:3)

$type  = true;
$value = 'Hello';

if($type){
    $body['body'] = $value;
} else {
    $body = $value;
}

print_r($body);

答案 1 :(得分:0)

试试这个。

$x = array('body'=>'Hello');
if($type){
    $body = $x;
} else {
    $body = 'body';
}

答案 2 :(得分:0)

你可以用速记写一行。

$body = ($type ? array('body'=>'Hello') : 'Hello');

var_dump($body);

答案 3 :(得分:0)

$type  = true;
$value = 'Hello';

if($type){
    $body['body'] = $value;
} else {
    $body = $value;
}
if (is_array($body)) {
// content for array goes here
} else {
// content for string goes here
}
print_r($body);