Intereting Posts
Добавление другого класса в первый div в цикле Могу ли я использовать SimpleXML & Xpath для непосредственного выбора атрибута Elements? Лучшая оценка для обработки полей форм PDF с помощью PHP5 Вставка нескольких строк сразу с помощью подготовленных операторов Разрыв строки не работает при записи в текстовый файл в PHP Загрузка mp3 на мой (php) веб-сервер из приложения iPhone gambio gx2. Имя файла CONSTANT MySQL Вставить строку, дублировать: добавить суффикс и повторно вставить Получить имя папки laravel view Как получить частичный результат из построителя запросов доктрины Отображение 11 последовательных строк из запроса, где средняя строка содержит переменную Облицовка страницы в PDF с помощью MPDF Функции MySQL не загружаются при использовании пользовательского PHP.ini на сервере Windows Как я могу использовать этот атрибут класса в PHP, чтобы получить общее значение для всех экземпляров класса? php – реализовать командную строку curl для php, попытался, но получил ошибку

php json_decode

Тест в некотором json-коде, например [{"a":"1"},{"a":"2"},{"a":"3"},{"b":"2"}] , I вы хотите использовать json-декодирование, получить данные и сделать судьей, если сначала кивок == b кив или fisrt кивок != b кив. некоторый код здесь.

 <?php header("Content-type: text/html; charset=utf-8"); $json = json_decode('[{"a":"1"},{"a":"2"},{"a":"3"},{"b":"2"}]',true); $number=1; foreach($json as $num){ if($num['a']!=$num['b']){ if($num['a']){ echo 'a'.$number.''.$num['a'].'<br />'; } }else{ if($num['a']){ echo 'b'.$number.''.$num['a'].'<br />'; } } $number++; } ?> 

Теперь мой результат:

 a11 a22 a33 

И мне нужно получить результат:

 a11 b22 a33 

Как вы можете сравнивать несуществующие поля массива?

нет поля $ num ['b'], есть эти поля, его массив [4] (index 0..3)

  • а: 1
  • а: 2
  • а: 3
  • Би 2

$num в первой итерации будет выполнено

 array("a"=>1); 

поэтому, если вы хотите сравнить с "b":2 вы должны использовать этот шаблон:

 $cmpr = array_shift($json); ... if($num != $cmpr) 

Array_shift: http://php.net/manual/en/function.array-shift.php

Вы пытаетесь обратиться к переменной b, если b в настоящее время не определено. вы должны сначала выполнить цикл и найти переменную b. http://codepad.org/0SnrPp6N

 <?php $json = json_decode('[{"a":"1"},{"a":"2"},{"a":"3"},{"b":"2"}]',true); foreach ($json as $var) { if (isset($var['b'])) { $b = $var['b']; break; } } $i=0; foreach ($json as $var) { if (!isset($var['a'])) continue; if ($var['a']!=$b) echo "a".++$i."$var[a]\n"; else echo "b".++$i."$var[a]\n"; }