PHP:多维数组元素的串联

标签 php multidimensional-array concatenation

我想将多维数组的一个元素与一些字符串连接起来。

<?
$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 使用此语法,我得到:

狗数组[大]猫

我不想使用替代语法

$string = $string1 . ' ' . $string2[$type][$size] . ' ' . $string3;

有效。

“$string1 $string2[$type][$size] $string3”有什么问题?

最佳答案

使用“复杂语法”:

$string = "$string1 {$string2[$type][$size]} $string3";

PHP的变量解析非常简单。它将识别一级数组访问,但不能识别更多级别。通过将表达式括在 {} 中,您可以明确声明字符串的哪一部分是变量。

参见PHP - Variable parsing .

关于PHP:多维数组元素的串联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4886388/

相关文章:

java - 如何在Java中创建具有随机长度列的多维数组?

java - 透彻理解Java中的任何多维数组

python - Python中的二维数组

SQL Concat 子查询

php - 预填充 wp-login.php 用户名

PHP Mysql GET 上个月和当月数据

php - 订购关键字结果相关性

php - 在 PHP 中调用 null 的成员函数 query()

python - 在 Pandas 数据框中连接两个系列的更快方法

sql - 为什么指定 ORDER BY 子句时 SQL Server 会忽略字符串连接中的值