Добро пожаловать, Гость!
Циклы в PHP - Страница 5
Помощь мастерам | Циклы в PHP
ATMAS :
Прошу не кидать в меня тухлые яйца с помидорами))
Есть обычный цикл foreach ($q as $post), из него нужно вынести переменную с ид за пределы цикла для дальнейшей работы с ней. Нашел вариант
<?php
$datam = array();
foreach ($q as $post)
{
$datam[] = $post['id']; //???? это под вопросом
нужно именно ид передать в цикл
через var_dump($datam); все необходимые ид отсвечивает:
"array(72) { [0]=> string(3) "121" [1]=> string(3) "117" [2]=> string(3) "116" [3]=> string(3) "115" [4]=> string(3) "105" [5]=> string(3) "104" [6]=> string(3) "103" [7]=> string(3) "102" [8]=> string(3) "101" [9]=> string(3) "100" [10]=> string(2) "99" [11]=> string(2) "97" [12]=> string(2) "94" [13]=> string(2) "89" [14]=> string(2) "90" [15]=> string(2) "88" [16]=> string(2) "70" [17]=> string(2) "85" [18]=> string(2) "81" [19]=> string(2) "79" [20]=> string(2) "77" [21]=> string(2) "73" [22]=> string(2) "72" [23]=> string(2) "71" [24]=> string(2) "67" [25]=> string(2) "49" [26]=> string(2) "65" [27]=> string(2) "64" [28]=> string(2) "63" [29]=> string(2) "62" [30]=> string(2) "61" [31]=> string(2) "58" [32]=> string(2) "55" [33]=> string(2) "54" [34]=> string(2) "53" [35]=> string(2) "52" [36]=> string(2) "51" [37]=> string(2) "48" [38]=> string(2) "46" [39]=> string(2) "45" [40]=> string(2) "44" [41]=> string(2) "43" [42]=> string(2) "41" [43]=> string(2) "40" [44]=> string(2) "35" [45]=> string(2) "36" [46]=> string(2) "37" [47]=> string(2) "38" [48]=> string(2) "34" [49]=> string(2) "33" [50]=> string(2) "32" [51]=> string(2) "31" [52]=> string(2) "30" [53]=> string(2) "29" [54]=> string(2) "28" [55]=> string(2) "27" [56]=> string(2) "25" [57]=> string(2) "24" [58]=> string(2) "23" [59]=> string(2) "22" [60]=> string(2) "21" [61]=> string(2) "20" [62]=> string(2) "19" [63]=> string(2) "18" [64]=> string(2) "17" [65]=> string(2) "16" [66]=> string(2) "14" [67]=> string(2) "12" [68]=> string(1) "9" [69]=> string(1) "5" [70]=> string(1) "4" [71]=> string(1) "1" }"
?>
а вот PHP матюгается "Array to string conversion.."
P.S. PHP 8.0
Прошу помощи знающих людей
Циклы в PHP
10 Июня 2022Прошу не кидать в меня тухлые яйца с помидорами))
Есть обычный цикл foreach ($q as $post), из него нужно вынести переменную с ид за пределы цикла для дальнейшей работы с ней. Нашел вариант
<?php
$datam = array();
foreach ($q as $post)
{
$datam[] = $post['id']; //???? это под вопросом
нужно именно ид передать в цикл
через var_dump($datam); все необходимые ид отсвечивает:
"array(72) { [0]=> string(3) "121" [1]=> string(3) "117" [2]=> string(3) "116" [3]=> string(3) "115" [4]=> string(3) "105" [5]=> string(3) "104" [6]=> string(3) "103" [7]=> string(3) "102" [8]=> string(3) "101" [9]=> string(3) "100" [10]=> string(2) "99" [11]=> string(2) "97" [12]=> string(2) "94" [13]=> string(2) "89" [14]=> string(2) "90" [15]=> string(2) "88" [16]=> string(2) "70" [17]=> string(2) "85" [18]=> string(2) "81" [19]=> string(2) "79" [20]=> string(2) "77" [21]=> string(2) "73" [22]=> string(2) "72" [23]=> string(2) "71" [24]=> string(2) "67" [25]=> string(2) "49" [26]=> string(2) "65" [27]=> string(2) "64" [28]=> string(2) "63" [29]=> string(2) "62" [30]=> string(2) "61" [31]=> string(2) "58" [32]=> string(2) "55" [33]=> string(2) "54" [34]=> string(2) "53" [35]=> string(2) "52" [36]=> string(2) "51" [37]=> string(2) "48" [38]=> string(2) "46" [39]=> string(2) "45" [40]=> string(2) "44" [41]=> string(2) "43" [42]=> string(2) "41" [43]=> string(2) "40" [44]=> string(2) "35" [45]=> string(2) "36" [46]=> string(2) "37" [47]=> string(2) "38" [48]=> string(2) "34" [49]=> string(2) "33" [50]=> string(2) "32" [51]=> string(2) "31" [52]=> string(2) "30" [53]=> string(2) "29" [54]=> string(2) "28" [55]=> string(2) "27" [56]=> string(2) "25" [57]=> string(2) "24" [58]=> string(2) "23" [59]=> string(2) "22" [60]=> string(2) "21" [61]=> string(2) "20" [62]=> string(2) "19" [63]=> string(2) "18" [64]=> string(2) "17" [65]=> string(2) "16" [66]=> string(2) "14" [67]=> string(2) "12" [68]=> string(1) "9" [69]=> string(1) "5" [70]=> string(1) "4" [71]=> string(1) "1" }"
?>
а вот PHP матюгается "Array to string conversion.."
P.S. PHP 8.0
Прошу помощи знающих людей
Последний раз редактировалось Zed 11 Июня 2022
Комментарии:
ATMAS 29 Июня 2022
Автор темы
Скиталец, ок, пошевелю немного мозгами, может и придумаю чего)) а за помощь, за подсказки спасибо))
Автор темы
Скиталец, ок, пошевелю немного мозгами, может и придумаю чего)) а за помощь, за подсказки спасибо))
Скиталец 29 Июня 2022
ATMAS, в смысле как? Я могу твою идею полностью переписать а как из твоего кода ид вытянуть я не знаю.
ATMAS, в смысле как? Я могу твою идею полностью переписать а как из твоего кода ид вытянуть я не знаю.
ATMAS 29 Июня 2022
Автор темы
Скиталец, мда, видимо, эти уроки я прогуливал, ибо я нихрена не понял, что мне делать и запутался еще больше. Не подскажешь, как это реализовать?
Автор темы
Скиталец, мда, видимо, эти уроки я прогуливал, ибо я нихрена не понял, что мне делать и запутался еще больше. Не подскажешь, как это реализовать?
Скиталец 29 Июня 2022
ATMAS (24 Июня 2022):
Скиталец, тот же вопрос к тебе. Можно ли поподробней?
Пысы. А что я неясно изложил в вопросе темы?
ATMAS, так я понять не мог как ты не сериализованный массив пытался в виде строки циклом перебрать... $post[id] это массив к которому ты обратился по ключу id а в задаче на перебор никаких преобразований не выполнял. Вот я и говорю что нифига не понял. Как из строки цикла массив сделал.Скиталец, тот же вопрос к тебе. Можно ли поподробней?
Пысы. А что я неясно изложил в вопросе темы?
Скиталец 28 Июня 2022
Zed, $datam[] = $post['id']; так не вытянуть ид из переменной. ,$post не массив, чтобы записать в переменную datam ид массив $q должен содержать только id,. Но тогда проще будет обращаться к переменной по ключу без всякого перебора.
Zed, $datam[] = $post['id']; так не вытянуть ид из переменной. ,$post не массив, чтобы записать в переменную datam ид массив $q должен содержать только id,. Но тогда проще будет обращаться к переменной по ключу без всякого перебора.
Скиталец 28 Июня 2022
Так все правильно.
1. Переменная $post не массив,
2. при переборе она не обновляется а перезаписывается ее гасить надо unset($post) иначе в ней будет только последний индекс сеанса
Для твоих целей нужно перебрать по-другому например использовать for() но это будет ещё тот якорь
Так все правильно.
1. Переменная $post не массив,
2. при переборе она не обновляется а перезаписывается ее гасить надо unset($post) иначе в ней будет только последний индекс сеанса
Для твоих целей нужно перебрать по-другому например использовать for() но это будет ещё тот якорь