[英]PHP: concatenation of multidimensional array elements
我想用一些字符串连接多维数组的一个元素。
<?
$string1 = 'dog';
$string2 = array
(
'farm' => array('big'=>'cow', 'small'=>'duck'),
'jungle' => array('big'=>'bear', 'small'=>'fox')
);
$string3 = 'cat';
$type = 'farm';
$size = 'big';
$string = "$string1 $string2[$type][$size] $string3";
echo($string);
?>
通过对$ string使用此语法,我得到:
狗Array [big]猫
我不想使用替代语法
$string = $string1 . ' ' . $string2[$type][$size] . ' ' . $string3;
哪个有效。
“ $ string1 $ string2 [$ type] [$ size] $ string3”有什么问题?
使用“复杂语法”:
$string = "$string1 {$string2[$type][$size]} $string3";
PHP的变量解析非常简单。 它将识别一级阵列访问,但不能识别更多级。 通过将表达式括在{}
您可以明确声明字符串的哪一部分是变量。
参见PHP-变量解析 。
我不喜欢复杂的语法,也不喜欢字符串中的变量解析。 通常,我会使用您描述的“替代”语法。 您也可以这样做:
$string = implode(' ', array($string1, $string2[$type][$size], $string3));
用这个:
$string = "$string1 {$string2[$type][$size]} $string3";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.