【问题标题】:PHP: concatenation of multidimensional array elementsPHP:连接多维数组元素
【发布时间】:2011-02-03 12:53:10
【问题描述】:

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

<?
$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;
  • @fsonmezay,OP 知道串联的工作原理。

标签: php multidimensional-array concatenation


【解决方案1】:

使用“复杂语法”:

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

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

PHP - Variable parsing

【讨论】:

  • Felix,非常感谢您的快速回复。
【解决方案2】:

我不喜欢复杂的语法,也不喜欢字符串中的变量解析。通常我会使用您描述的“替代”语法。你也可以这样做:

$string = implode(' ', array($string1, $string2[$type][$size], $string3));

【讨论】:

  • 解决问题的有趣方法。
【解决方案3】:

使用这个:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-21
    • 1970-01-01
    • 1970-01-01
    • 2015-07-05
    • 1970-01-01
    • 1970-01-01
    • 2015-06-12
    • 1970-01-01
    相关资源
    最近更新 更多