繁体   English   中英

PHP:多维数组元素的串联

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM