下面的代码可以正常工作。它输出:hello world
$sample_variable = "world";
echo "hello $sample_variable";
现在,我正在尝试实现相同的逻辑,但是这次使用的数组的索引是字符串。下面的代码是我想出的。这会导致错误,并且无法打印出预期的输出。 (预期输出:乳清产品的售价为3000)
$product = array(
"product_name" => "Whey",
"product_price" => 3000
);
echo "The product $product['product_name'] is for sale for $product['product_price']";
我的问题:如何在不使用PHP串联运算符('。')的情况下回显带有字符串作为索引的数组 ?
答案 0 :(得分:1)
用法如下
<?php
$product = array(
"product_name" => "Whey",
"product_price" => 3000
);
echo "The product $product[product_name] is for sale for $product[product_price]";
答案 1 :(得分:1)
有许多方法可以实现没有串联运算符:
$product=array(
"product_name"=>"whey",
"product_price"=>3000
使用双引号可以做到:
echo "The product $product[product_name] is for sale for $product[product_price]";
echo "The product ${product["product_name"]} is for sale for ${product["product_price"]}";
带有预格式化的字符串:
printf("The product %s is for sale for %s ",$product['product_name'],$product['product_price']);
echo sprintf("The product %s is for sale for %s ",$product['product_name'],$product['product_price']);
当您的数组包含大量数据时,只需编写字符串并用...来解压缩数组即可。
printf("The product %s is for sale for %s ",...array_values($product));//php >=5.6
echo sprintf("The product %s is for sale for %s ",...array_values($product));//php >=5.6
输出为:
The product whey is for sale for 3000