pcclaro 0 Denunciar post Postado Agosto 6, 2007 Pessoal onde ta errado pelo amor de Deus.... <?php $dir="lei/"; if ($handle=opendir("$dir")) { $x=0; while (false!==($file=readdir($handle))) { if ($file!="." && $file!="..") { $matriz[$x]="$dir$file"; $x++; } } closedir($handle); } $x=0;//linha 49 abaixo: foreach($matriz as $n => $v){ if($n%2==0) { echo '<tr bgcolor="#FFFFCC">'; } else { echo '<tr bgcolor="#FFFF99">'; } ... ?> erro: Warning: Invalid argument supplied for foreach() in c:\arquivos de programas\easyphp1-8\www\arquivo.php on line 49 Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Agosto 6, 2007 Primeiramente, bem-vindo ao iMasters! :D Lembre-se de ler as Regras do Fórum iMasters. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif $matriz não está sendo criada como array. Crie-a antes do while: $matriz = array(); while() { $matriz[indice] = valor; } Verifique se não é o diretório que está vazio, fazendo com que não sejam adicionados valores à variável $matriz. Abraços, Beraldo Compartilhar este post Link para o post Compartilhar em outros sites
pcclaro 0 Denunciar post Postado Agosto 6, 2007 Muito obrigado Beraldo, então justamente é esse o problema, ...quando o diretório está vazio aparece essa mensagem, e quando contém algo não aparece, como resolvo isso,pq eu não to conseguindo...desculpe-me se me expressei mau ;) Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Agosto 6, 2007 Usando a função count() é possível verificar o número de elementos do array. Se o valor retornado for zero, não há elementos. Veja: is_array() -> http://www.php.net/is_array count() -> http://www.php.net/count Abraços, Beraldo Compartilhar este post Link para o post Compartilhar em outros sites
pcclaro 0 Denunciar post Postado Agosto 6, 2007 Fiz assim: foreach($matriz as $n => $v){ $conta=count($v); if($conta=="0"){ echo'erro'; }mas não ta dando, onde errei ? Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Agosto 7, 2007 Faça a verificação antes do foreach. por exemplo: if (is_array($matriz)) { if (count($matriz) > 0) { //coloque aqui o foreach } } Abraços, Beraldo Compartilhar este post Link para o post Compartilhar em outros sites
pcclaro 0 Denunciar post Postado Agosto 7, 2007 Perfeito Beraldo http://forum.imasters.com.br/public/style_emoticons/default/graduated.gif Compartilhar este post Link para o post Compartilhar em outros sites