php如何使用相同的键打印值
我有一些问题php如何使用相同的键打印值,php,Php,我有一些问题 this is my orginal array and cood below **will not work** on this array <?php $rijeci=array ( "tekst"=> "osoba" ,"vrsta" => "imenica", "tekst"=> "kuha" , "vrsta" => "glagol", "tekst"=> "crnu
this is my orginal array and cood below **will not work** on this array
<?php
$rijeci=array ( "tekst"=> "osoba" ,"vrsta" => "imenica",
"tekst"=> "kuha" , "vrsta" => "glagol",
"tekst"=> "crnu" , "vrsta" => "pridjev",
"tekst"=> "kavu" , "vrsta" => "imenica",
"tekst"=> "kopa" , "vrsta" => "glagol")
?>
2) 我怎么能回应这个
伊梅尼斯:奥索巴·卡武
格拉戈尔:库哈·科帕
普里季耶夫:crnu
这将在我更改的阵列中工作,但是否有其他方法打印此文件
$prethodna = null;
if($m=="prikazVrstaRijeci"){
echo "Imenice:\n" ;
foreach ($rijeci as $kljuc => $vrijednost){
if($vrijednost == "imenica"){
if($prethodna) {
echo "$prethodna ";
}
}
$prethodna = $vrijednost;
}
echo "<br />";
echo "Glagol:\n" ;
foreach ($rijeci as $kljuc => $vrijednost){
if($vrijednost == "glagol"){
if($prethodna) {
echo "$prethodna ";
}
}
$prethodna = $vrijednost;
}
echo "<br />";
echo "Pridjev:\n" ;
foreach ($rijeci as $kljuc => $vrijednost){
if($vrijednost == "pridjev"){
if($prethodna) {
echo "$prethodna ";
}
}
$prethodna = $vrijednost;
}
}
$prethodna=null;
如果($m==“prikazVrstaRijeci”){
回显“Imenice:\n”;
foreach($rijeci作为$kljuc=>$vrijednost){
如果($vrijednost==“imenica”){
如果($prethodna){
回声“$prethodna”;
}
}
$prethodna=$vrijednost;
}
回声“
”;
回显“Glagol:\n”;
foreach($rijeci作为$kljuc=>$vrijednost){
如果($vrijednost==“glagol”){
if(比索前){
回声“$prethodna”;
}
}
$prethodna=$vrijednost;
}
回声“
”;
回显“Pridjev:\n”;
foreach($rijeci作为$kljuc=>$vrijednost){
如果($vrijednost==“pridjev”){
如果($prethodna){
回声“$prethodna”;
}
}
$prethodna=$vrijednost;
}
}
如何在原始数组中打印1.)2.)问题?这是可能的吗?同一个键不能具有不同的值,您可以将数组更改为该值
$rijeci=array ("osoba" ,"imenica",
"kuha" , "glagol",
"crnu" , "pridjev",
"kavu" , "imenica",
"kopa" , "glagol")
现在这个代码可以工作了
foreach($rijeci as $key => $var){
if($var != "imenica" && $var != "glagol" && $var != "pridjev" )
echo $var;
在Echo的这个数组中,您可以这样做
<?php
$rijeci=array ( "tekst1"=> "osoba" ,"vrsta1" => "imenica",
"tekst2"=> "kuha" , "vrsta2" => "glagol",
"tekst3"=> "crnu" , "vrsta3" => "pridjev",
"tekst4"=> "kavu" , "vrsta4" => "imenica",
"tekst5"=> "kopa" , "vrsta5" => "glagol")
foreach($rijeci as $key => $var){
switch( $var){
case "osoba":
echo $var;
break;
case "kuha":
echo $var;
break;
case "crnu":
echo $var;
break;
case "kavu":
echo $var;
break;
case "kopa":
echo $var;
break;
}
echo ",";
}
?>
没有办法让您的第一个示例按照您希望的方式工作。PHP数组只能包含给定键的单个值。数组上的
var\u dump()
将显示无法打印所需的值,因为它们不存在。但是,您可以这样使用嵌套数组:
$rijeci=array ( array("tekst"=> "osoba" ,"vrsta" => "imenica"),
array("tekst"=> "kuha" , "vrsta" => "glagol"),
array("tekst"=> "crnu" , "vrsta" => "pridjev"),
array("tekst"=> "kavu" , "vrsta" => "imenica"),
array("tekst"=> "kopa" , "vrsta" => "glagol"));
foreach ($rijeci as $pair) {
print $pair['tekst'];
print " ";
print $pair['vrsta'];
print "\n";
}
您还可以在嵌套数组中使用命名索引,这样可以:
$rijeci = array(
'imenica' => array('osoba', 'kavu'),
'glagol' => array('kuha', 'crnu'),
'pridjev' => array('crnu'),
);
foreach ($rijeci as $vrsta => $stuff) {
print "$vrsta : ";
foreach ($stuff as $tekst) {
print "$tekst, ";
}
print "\n";
}
或者,您可以编写该循环,如下所示:
foreach ($rijeci as $vrsta => $stuff) {
print "$vrsta : ";
print implode($stuff, ',');
print "\n";
}
希望这足以让您找到解决方案。您不能在阵列中再次使用相同的键原始阵列将只有2个值。每次重新定义一个键时,它都会替换旧值。thx我假设,当我尝试打印整个数组时,它将只输出最后两个值。我想和你核实一下:)为什么不
$rijeci=array('tekst'=>array(…),'vrsta'=>array(…)
?
$rijeci = array(
'imenica' => array('osoba', 'kavu'),
'glagol' => array('kuha', 'crnu'),
'pridjev' => array('crnu'),
);
foreach ($rijeci as $vrsta => $stuff) {
print "$vrsta : ";
foreach ($stuff as $tekst) {
print "$tekst, ";
}
print "\n";
}
foreach ($rijeci as $vrsta => $stuff) {
print "$vrsta : ";
print implode($stuff, ',');
print "\n";
}