两个JSON数据合并和ECHO与PHP
与前面的问题有什么区别? 在其他问题中,两个JSON数据的数量是相等的。这 问题不等于JSON文件 我有两个JSON数据。其中一个仅包含2个值。另一个包含六个值。我试图用IF-ELSE来区分,但是每个值都写了两个。 根据第一个JSON中的数字,我想分离第二个JSON数据 例如: 第一个JSON:两个JSON数据合并和ECHO与PHP,php,json,merge,decode,jsondecoder,Php,Json,Merge,Decode,Jsondecoder,与前面的问题有什么区别? 在其他问题中,两个JSON数据的数量是相等的。这 问题不等于JSON文件 我有两个JSON数据。其中一个仅包含2个值。另一个包含六个值。我试图用IF-ELSE来区分,但是每个值都写了两个。 根据第一个JSON中的数字,我想分离第二个JSON数据 例如: 第一个JSON: {“0”:“3”、“1”:“5”} 第二个JSON: {“vale1”:“ValueOne”、“vale2”:“ValueSecond”、“val3”:“ValueThree”、“val4”:“4”、“
{“0”:“3”、“1”:“5”}
第二个JSON:
{“vale1”:“ValueOne”、“vale2”:“ValueSecond”、“val3”:“ValueThree”、“val4”:“4”、“val5”:“ValueFive”、“vale6”:“ValueSix”}
$first=json\u解码($jsonFile1);
$second=json_decode($jsonFile2);
foreach($key=>$firstvalue的首字母){
foreach($second作为$secondvalue){
如果(substr($firstvalue,-1)=$secondvalue){1
回显“”$firstvalue。”
”;
}否则{
回显“$firstvalue.”;
}
}
}
结果:
- ValueOne
- ValueOne
- 价值秒
- 价值秒
- 值三
- 值三
- 价值四
- 价值四
- ValueFive
- ValueFive
- 价值六
- 价值六
原因可能是什么?不确定如何获得所说的输出,但重复是由于循环第二个数组中的每个项目的每个项目-因此每个选项都在其中两次 此版本使用
in_array()
查看键的最后一个字符是否在第二个JSON列表中(请注意,使用true
作为JSON_decode()
的第二个参数将其转换为数组而不是对象)
$jsonFile1='{“value1”:“ValueOne”,“valle2”:“ValueSecond”,“valle3”:“ValueThree”,“val4”:“4”,“valle5”:“ValueFive”,“valle6”:“ValueSix”}';
$jsonFile2='{“0”:“3”,“1”:“5”}';
$first=json_decode($jsonFile1);
$second=json_decode($jsonFile2,true);
foreach($key=>$firstvalue的首字母){
if(在_数组中(substr($key,-1),$second)){
回显“”$firstvalue。”
”;
}否则{
回显“$firstvalue”。
”;
}
}
给
ValueOne
ValueSecond
ValueThree
4
ValueFive
ValueSix
不确定如何获得所说的输出,但重复是由于对第二个数组中的每个项目循环每个项目-因此每个选项都在其中两次 此版本使用
in_array()
查看键的最后一个字符是否在第二个JSON列表中(请注意,使用true
作为JSON_decode()
的第二个参数将其转换为数组而不是对象)
$jsonFile1='{“value1”:“ValueOne”,“valle2”:“ValueSecond”,“valle3”:“ValueThree”,“val4”:“4”,“valle5”:“ValueFive”,“valle6”:“ValueSix”}';
$jsonFile2='{“0”:“3”,“1”:“5”}';
$first=json_decode($jsonFile1);
$second=json_decode($jsonFile2,true);
foreach($key=>$firstvalue的首字母){
if(在_数组中(substr($key,-1),$second)){
回显“”$firstvalue。”
”;
}否则{
回显“$firstvalue”。
”;
}
}
给
ValueOne
ValueSecond
ValueThree
4
ValueFive
ValueSix
你是个男人!你是个很棒的人!:)谢谢你,伙计;如果可能的话,可以洗牌吗@奈杰尔·雷恩:你是个男人!你是个很棒的人!:)谢谢你,伙计;如果可能的话,可以洗牌吗@任乃杰
3 -> val3
5-> val5
$first = json_decode($jsonFile1);
$second = json_decode($jsonFile2);
foreach ($first as $key => $firstvalue) {
foreach ($second as $secondvalue) {
if (substr($firstvalue, -1) == $secondvalue) { <-- 'valX' => 1
echo "<strong>". $firstvalue . "</strong><br>";
} else {
echo "<em>". $firstvalue . "</em>";
}
}
}
$jsonFile1 = '{"val1":"ValueOne","val2":"ValueSecond","val3":"ValueThree","val4":"4","val5":"ValueFive","val6":"ValueSix"}';
$jsonFile2 = '{"0":"3","1":"5"}';
$first = json_decode($jsonFile1);
$second = json_decode($jsonFile2, true);
foreach ($first as $key => $firstvalue) {
if (in_array(substr($key, -1),$second)) {
echo "<strong>". $firstvalue . "</strong><br>";
} else {
echo "<em>". $firstvalue . "</em><br>";
}
}