Array : [{"ID":1},{"ID":2}]
$id=1;
Я хочу проверить, существует ли в массиве $id
.PHP check variable if существует в массиве json
Спасибо!
Array : [{"ID":1},{"ID":2}]
$id=1;
Я хочу проверить, существует ли в массиве $id
.PHP check variable if существует в массиве json
Спасибо!
У вас есть форматированный json массив, и вам нужно его декодировать, используя сначала json_decode
. После этого цикла массив проверит требуемый идентификатор.
Так что код должен выглядеть следующим образом:
$json = '[{"ID":1},{"ID":2}]';
$id = 1;
$data = json_decode($json, true);
foreach($data as $item){
if($item['id'] == $id) {
echo 'it exists';
}
}
json_decode90 ожидает, что параметр 1 будет строкой, заданный массив –
Iterate массив, используя цикл и использовать значение как пары к json_decode
.
$id = 1;
$arr = array('{"ID":1}', '{"ID":2}');
foreach($arr as $val) {
if (in_array($id, json_decode($val, TRUE))) {
echo "id present";
}
}
Вы можете попробовать Collection::contains метод Laravel, например:
$collection = collect(json_decode($jsonString, true));
if ($collection->contains(1) {
// Exists...
}
Кроме того, вы можете использовать пару ключей/значение, как это:
if ($collection->contains('ID', 1) {
//...
}
Кроме того, если вы хотите получить этот предмет из коллекции, то вы можете попробовать where
вот так:
$id = $collection->where('ID', 1)->first(); // ['ID' => 1]
Попробуйте это, если значение существует, то он даст ключ массива
$jsondata = '[{"ID":1},{"ID":2}]';
$array = json_decode($jsondata,true);
$key = array_search(1, array_column($array, 'ID'));
Просто проверить, если строка в массиве JSON, с небольшим количеством вычислений.
Я думаю, что это более эффективный способ. Проверьте результат here.
<?php
$id = 1;
$array = ['{"ID":1}', '{"ID":2}'];
echo in_array(json_encode(["ID" => $id]), $array) ? 'Yes' : 'No';
проверка 'json_decode ($ строка, TRUE);' http://php.net/manual/en/function.json-decode.php – jitendrapurohit
json_decode нужна строка, здесь у меня есть массив –
перебирать массив используя для цикла и использовать значение в качестве параметра для json_decode – jitendrapurohit