Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá
Não estou conseguindo fazer a verificação se um array é vazio, estou fazendo assim
print_r ($_FILES['fotos']['name']);
if(!empty($_FILES['fotos']['name'])){ // Se o array $_FILES não estiver vazio
}
O resultado do print_r é
Array ( [0] => )
Mais ele entra no if mesmo sendo vazio, como posso fazer essa verificação?
Mais é isso que nao entendo, pois eu nao coloco nada no campo files do formulario e mesmo assim retorna um array com indice 0, acho que nao fui claro desculpe
Consegui sege pra quem precisar
$contar_fotos=0;
$images_arr = array();
foreach($_FILES['fotos']['name'] as $key=>$val){
if (empty($val)) {
echo "vazio";
}
if (!empty($val)) {
}
}
Se existe o campo no formulário, mesmo não sendo adicionado item algum, ele será enviado, mas vazio.
https://secure.php.net/manual/en/features.file-upload.post-method.php
Wagner, siga o conselho do ESerra, tem uma coisa que alguns chamam de "Learn in force", que eu, e provavelmente muitos já passaram. Que consiste em aprender procurando a solução na hora (aprender na marra)
Eu mesmo por muito tempo considerei que esse método era o mais eficaz, mas não é!
Te garanto que ler um livro, por mais básico que seja, que você deve conseguir tranquilamente em até um mês, te poupará meses de "Learn in force"!
Sobre a sua duvida:
Rodando isso
$meuArray = array( array() );
if (empty($meuArray)) {
print 'Array vazio';
print_r($meuArray); print 'Array com algum valor';
print_r($meuArray);
}Array com algum valor
Array
(
[0] => Array
(
)
)O caso é que o print_r não esta te mostrando valores, e sim uma estrutura, que esta "vazia".
O empty($meuArray); retornará true para um array vazio com uma dimensão e false para um array com mais de uma dimensão, mesmo que esteja tudo "vazio", pois nesse caso, ele considera que o valor vazio da segunda dimensão é um valor da primeira dimensão.
Tchê, tenho certeza que já te disse isso, estude o básico, entenda o mínimo do mínimo da coisa, onde o array está vazio?
Se você está dando um print_r e ele está retornando o que você disse, então ele não está vazio, ele tem um índice (0) que tem o valor "nada"... isso dai não é vazio.