我是PHP(以及完全编程)的新手。我看了一段解释基本知识的视频,所以我决定自己玩PHP。我写了这段代码:
{
"name": "test",
"version": "0.1.0",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint"
},
"dependencies": {
"vue": "^2.5.22"
},
"devDependencies": {
"@vue/cli-plugin-babel": "^3.4.0",
"@vue/cli-plugin-eslint": "^3.4.0",
"@vue/cli-service": "^3.4.0",
"babel-eslint": "^10.0.1",
"eslint": "^5.8.0",
"eslint-plugin-vue": "^5.0.0",
"vue-template-compiler": "^2.5.21"
},
"eslintConfig": {
"root": true,
"env": {
"node": true
},
"extends": [
"plugin:vue/essential",
"eslint:recommended"
],
"rules": {},
"parserOptions": {
"parser": "babel-eslint"
}
},
"postcss": {
"plugins": {
"autoprefixer": {}
}
},
"browserslist": [
"> 1%",
"last 2 versions",
"not ie <= 8"
]
}
我正在尝试输出:
约翰很聪明
但是,它输出:
是米
我不确定如何解决此问题。
请帮助,谢谢。
答案 0 :(得分:2)
您的数组数据(每个项目)如下:
[
'john',
'smart'
]
这些值没有键关联。因此,在您的输出示例中,您实际需要做的是:
foreach ($people as $el)
{
echo $el[0]. ' is ' .$el[1];
}
您的数据是一个从0开始的数字索引数组。因此0 = john和1 = smart。
最好像这样构造数组:
$people = [
0 => [
'name' => 'john',
'intelligence' => 'smart'
], # etc.
];
foreach ($people as $el)
{
echo $el['name']. ' is ' .$el['intelligence'];
}
在这里,我们使用有意义的命名键。
在您的代码示例中,您将执行以下操作:
foreach ($people as $name => $intelligence)
但是循环中的$name
实际上是项目键。所以0、1等,并且智能是数组。不是你想的那样的名字和智慧。
但是,如果您只是想回显第一个元素,请执行以下操作:
echo $people[0][0]. ' is ' .$people[0][1];
答案 1 :(得分:1)
我想这就是你的意思:
<?php
$people = [
array("John", "smart"),
array("Mike", "dumb"),
array("Jose", "smart"),
array("Emmanuel", "dumb")
];
foreach ($people as $person) {
echo $person[0] ." is ". $person[1]."<br/>";
}
如果您的people
数组确实是您要编写的方式,则可以。
您可以改为像下面这样声明它。作为另一项练习,为什么不这样声明数组,为什么它们会修改其余的代码,以便打印出所需的内容。
$people = [
"John" => "smart",
"Mike" => "dumb",
"Jose" => "smart",
"Emmanuel" => "dumb"
];
您的echo
语句不在for循环中。我将其移入其中。
您读取people
数组的方式似乎不太正确,因此我将其更改为:
$person[0]
-获取内部数组中的第零个元素,名称$person[1]
-获取数组中的第一个元素,即情报答案 2 :(得分:0)
更改此
<?php
$people = [
array("John", "smart"),
array("Mike", "dumb"),
array("Jose", "smart"),
array("Emmanuel", "dumb")
];
foreach ($people as $name => $intelligence) {
};
echo $name [0][0]." "."is ". $intelligence[0][1];
?>
对此
$people = [
"John" => "smart",
"Mike" => "dumb",
"Jose" => "smart",
];
foreach ($people as $name => $intelligence) {
echo $name." is ". $intelligence;
};
答案 3 :(得分:0)
您可以创建一个简单的函数来传递参数,例如。要查找的人和一群人的名字。
<?php
$people = [
["John", "smart"],
["Mike", "dumb"],
["Jose", "smart"],
["Emmanuel", "dumb"]
];
function return_Sentence( $name , $array ){
foreach ($array as $details) {
if($name == $details[0]){
return $details[0] . ' is ' . $details[1];
}
}
return 'Not Found';
}
echo return_Sentence( "John" , $people );
?>