из базы данных считываю значение
PHP:
$json = $item_ajax[‘maincheck’];что дает вывод
PHP:
print $json;вот такой результат
HTML:
{«1″:»on»,»2″:»on»,»3″:»on»,»4″:»on»,»5″:»on»,»6″:»on»,»7″:»on»,»8″:»on»,»9″:»on»,»10″:»on»,»11″:»on»,»12″:»on»,»13″:»on»,»14″:»on»,»15″:»on»,»16″:»on»,»17″:»on»,»18″:»on»,»19″:»on»,»20″:»on»,»21″:»on»,»22″:»on»,»33″:»on»,»34″:»on»,»35″:»on»,»36″:»on»,»37″:»on»,»23″:»on»,»24″:»on»,»25″:»on»,»26″:»on»,»27″:»on»,»28″:»on»,»29″:»on»,»30″:»on»,»31″:»on»,»32″:»off»,»38″:»off»}как мне создать переменную где будут все номера значение которых — on
т.е
$spisiok_id=»1,2,…….31″;
через запятую.
а вот 32 и 38 тут быть не должно так как у них значение off
помогите пожалуйста с кодом что то не пойму как сделать
PHP:
$spisiok_id = implode(‘,’, array_keys(array_filter(json_decode($json, true), fn($v) => $v === ‘on’)));Теперь разирайтесь
Хотел провернуть с array_intersect вместо фильтра, а потом подумал — а смысл
PHP:
<?php $json = ‘{«1″:»on»,»2″:»on»,»3″:»on»,»4″:»on»,»5″:»on»,»6″:»on»,»7″:»on»,»8″:»on»,»9″:»on»,»10″:»on»,»11″:»on»,»12″:»on»,»13″:»on»,»14″:»on»,»15″:»on»,»16″:»on»,»17″:»on»,»18″:»on»,»19″:»on»,»20″:»on»,»21″:»on»,»22″:»on»,»33″:»on»,»34″:»on»,»35″:»on»,»36″:»on»,»37″:»on»,»23″:»on»,»24″:»on»,»25″:»on»,»26″:»on»,»27″:»on»,»28″:»on»,»29″:»on»,»30″:»on»,»31″:»on»,»32″:»off»,»38″:»off»}’; foreach ($data as $key => $value) { if ($value == ‘on’) { $onKeys[] = $key; } } echo $onKeysStr;