如何回显M
,然后回显M
下的值并与字母K
相同?我尝试使用foreach
,但它只是警告我有关字符串转换的信息。这是我尝试过的foreach
foreach($translations as $value){
echo $value . "<br>";
}
这里是数组
$translations = [
"M" => [
"Monday" => "maanantai",
"Machine" => "kone",
"Male" => "mies",
],
"K" => [
"Ketchup" => "Ketsuppi",
"Key" => "Avain",
],
];
编辑It should make it like this, so there is translation of that word
尝试一下
foreach($translations as $name => $value){
echo $name . "<br>";
foreach($value as $key => $item){
echo $key . " " . $item . "<br>";
}
}
您需要了解收到的错误消息实际上告诉您什么:这不是“关于字符串转换的麻烦”,而是:“数组到字符串转换”。
echo
输出一个字符串。 相反,您应该首先将数组转换为字符串,以便可以控制该字符串表示数组的方式。这是一个示例:
<?php
$translations = [
"M" => [
"Monday" => "maanantai",
"Machine" => "kone",
"Male" => "mies",
],
"K" => [
"Ketchup" => "Ketsuppi",
"Key" => "Avain",
],
];
foreach ($translations as $key => $val) {
echo var_export($val, true) . "\n";
}
输出为:
array (
'Monday' => 'maanantai',
'Machine' => 'kone',
'Male' => 'mies',
)
array (
'Ketchup' => 'Ketsuppi',
'Key' => 'Avain',
)
PHP提供了许多这样的便捷功能来转换不同的格式。您肯定要开始研究文档。它很精确,并附带了很多示例:https://php.net/manual/en/language.types.array.php
在您的foreach $value
中是一个数组,您不能直接回显数组。 Demo
foreach($translations as $value){
echo print_r($value,1);
}
两者都一样,为清楚起见,这是您的代码示例。
$translations =
[
"M" => [
"Monday" => "maanantai",
"Machine" => "kone",
"Male" => "mies",
],
"K" => [
"Ketchup" => "Ketsuppi",
"Key" => "Avain",
],
];
foreach ($translations as $name => $value) {
if ($name == 'M') {
echo $name . "<br>";
foreach ($value as $item) {
echo $item . "<br>";
}
}
}