为了账号安全,请及时绑定邮箱和手机立即绑定

两个 JSON 数据合并和 ECHO 与 PHP

两个 JSON 数据合并和 ECHO 与 PHP

PHP
达令说 2021-06-11 13:02:27
与之前的问题有什么不同?在其他问题中,两个 JSON 数据的数量相等。这个问题不等于 JSON 文件。我有两个 JSON 数据。其中之一只包含 2 个值。另一个包含六个值。我试图与 IF ELSE 区分开来,但每个值都写入了两个。与第一个 JSON 中的数字一致,我想将第二个 JSON 数据分开。例如:3 -> val35->  val5第一个 JSON:{"0":"3","1":"5"}第二个JSON:{"val1":"ValueOne","val2":"ValueSecond","val3":"ValueThree","val4":"4","val5":"ValueFive","val6":"ValueSix"}$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>";    }   }}结果:价值一价值一价值第二价值第二价值三价值三价值四价值四价值五价值五价值六价值六可能是什么原因?
查看完整描述

1 回答

?
红颜莎娜

TA贡献1842条经验 获得超12个赞

不确定如何获得您所说的输出,但重复是由于为第二个数组中的每个项目循环每个项目 - 因此每个选项在那里两次。


此版本用于in_array()查看键的最后一个字符是否在第二个 JSON 列表中(请注意,这将转换为数组而不是true用作 的第二个参数的对象json_decode())...


$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>";

    }

}

给...


ValueOne

ValueSecond

ValueThree

4

ValueFive

ValueSix


查看完整回答
反对 回复 2021-06-13
  • 1 回答
  • 0 关注
  • 149 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信