Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/06/2014, 04:16
Avatar de guardarmicorreo
guardarmicorreo
 
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 11 años, 5 meses
Puntos: 84
Respuesta: Aclaración código anterior

Cita:
Iniciado por elitown87 Ver Mensaje
Buenos días.

Hace un momento he sido capaz de modificar el código que me ha facilitado un miembro del foro (y alq le estoy tremendamente agradecida por ello, x cierto!) acorde a mis necesidades. He conseguido que funcione pero no acabo de entender qué es lo que hacen las líneas intermedias dentro del for a partir del is_numeric incluido, para qué sirven más que nada y porqué son necesarias. He cerrado el tema y no me he dado cuenta de preguntarle antes. Si alguien me puede aclarar mis dudas...gracias!

$archivos_y_directorios = scandir($directorio);
$maximo = -1;
for ($i = 0; $i < count($archivos_y_directorios); $i++) {
//is_dir indica si el nombre de archivo es un directorio
if (is_dir($ruta. "/" .$archivos_y_directorios[$i])){
//is_numeric comprueba si una variable es un número o un string numérico
if(is_numeric($archivos_y_directorios[$i])){
//intval obtiene el valor entero de una variable
if($maximo < intval($archivos_y_directorios[$i]), 10) {
$maximo = intval($archivos_y_directorios[$i], 10);
}
}
}
}
Te lo dice en los propios comentarios. is_dir comprueba si el string es un nombre de directorio y is_numeric si el valor es un número o string numérico.

Tal vez lo que no comprendes es porqué los if no tienen comparación lógica, eso es porque implícitamente sin comparación lógica if comprueba que sea TRUE, en caso de TRUE entonces realiza lo que hay entre corchetes { }

http://www.php.net/manual/es/control-structures.if.php

Cita:
Como se describe en la sección sobre expresiones , la expresión es evaluada a su valor booleano. Si la expresión se evalúa como TRUE, PHP ejecutará la sentencia y si se evalúa como FALSE la ignorará.
Un saludo.
__________________
Ayúdame a hacerlo por mi mismo.