Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Warning: Invalid argument supplied for foreach()
Forum PHP.pl > Forum > Przedszkole
kaszanka
Hi,

Nie wiem co jest grane ale co próbuje uruchomic skrypt który korzysta z foreach() to wywala błąd:
  1. <?php
  2. Warning: Invalid argument supplied for foreach() in
  3. ?>

Czy to może jest oznaka, że brakuje czegoś bezpośrednio na serwerze?
webdice
Podaj kod... najprawdopodobniej zmienna przekazywana do foreach" title="Zobacz w manualu PHP" target="_manual jest pusta.
Marek Rynarzewski
  1. <?php
  2. require '../Kolejka.php';
  3. require 'NKrolowych.php';
  4. $q = new Stos;
  5. $n = 12;
  6. $visited = array_fill(1, $n, false);
  7. $l = array();
  8. for ($i = 1; $i <= $n; $i ++)
  9. {
  10. $l[$i] = array();
  11. for ($j = 1; $j <= $n; $j++)
  12. {
  13. if ($i == $j)
  14. $l[$i][$j] = NULL;
  15. else
  16. {
  17. if ($i < $j)
  18. {
  19. $l[$i][$j] = ((rand(0, 1) == 0)?(false):(true));
  20. }
  21. else
  22. {
  23. $l[$i][$j] = $l[$j][$i];
  24. }
  25. }
  26. }
  27. }
  28. function czyIstniejeKrawedz($od, $do)
  29. {
  30. global $l;
  31. return $l[$od][$do];
  32.  
  33. }
  34. function DFSHamilton(array $l, $v)
  35. {
  36.  
  37. global $q, $n, $visited;
  38. $q->push($v);
  39. if ($q->size() != $n)
  40. {
  41. $visited[$v] = true;
  42. var_dump($l[$v]);
  43. //for ($i = 1; $i <= count($l[$v]); $i ++)
  44. //{
  45. //$x = $l[$v][$i];
  46. foreach ($l[$v] as $x)
  47. {
  48. if (!$visited[$x])
  49. DFSHamilton($l, $x);
  50. }
  51. $visited[$v] = false;
  52. }
  53. else
  54. {
  55. if (czyIstniejeKrawedz($v, 1))
  56. {
  57. echo 'Cykl';
  58. }
  59. else
  60. {
  61. echo 'Ścieżka';
  62. }
  63. echo 'Hamiltona: '.$q;
  64. }
  65. $q->pop();
  66. }
  67. DFSHamilton($l, 1);

Dlaczego nie działa foreach($l[$v] as $x)?
nospor
Zrób sobie
var_dump($v);
to może sam zrozumiesz.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.