из базы данных считываю значение 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'))); Теперь разирайтесь
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"}'; $data = json_decode($json, true); $onKeys = array(); foreach ($data as $key => $value) { if ($value == 'on') { $onKeys[] = $key; } } $onKeysStr = implode(',', $onKeys); // объединяем ключи через запятую echo $onKeysStr;