Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
两个JSON数据合并和ECHO与PHP_Php_Json_Merge_Decode_Jsondecoder - Fatal编程技术网

两个JSON数据合并和ECHO与PHP

两个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”、“

与前面的问题有什么区别?

在其他问题中,两个JSON数据的数量是相等的。这 问题不等于JSON文件

我有两个JSON数据。其中一个仅包含2个值。另一个包含六个值。我试图用IF-ELSE来区分,但是每个值都写了两个。 根据第一个JSON中的数字,我想分离第二个JSON数据

例如:

第一个JSON:

{“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>";
    }
}