Arrays PHP

Iniciado por Puntoinfinito, 10 Junio 2013, 20:56 PM

0 Miembros y 1 Visitante están viendo este tema.

Puntoinfinito

Hey!  ::)! Bueno pues tengo una duda, nunca antes he trabajado con arrays en PHP y debo aceptar de que son un poco raras xD pero bueno, lo que querría saber es si esto de aquí esta bien declarado:

Código (php) [Seleccionar]
$notations = array(18) {
[0] => string(1) "R"
[1] => string(1) "U"
[2] => string(1) "L"
[3] => string(1) "D"
[4] => string(1) "F"
[5] => string(1) "B"
[6] => string(1) "R'"
[7] => string(1) "U'"
[8] => string(1) "L'"
[9] => string(1) "D'"
[10] => string(1) "F'"
[11] => string(1) "B'"
[12] => string(1) "R2"
[13] => string(1) "U2"
[14] => string(1) "L2"
[15] => string(1) "D2"
[16] => string(1) "F2"
[17] => string(1) "B2"
}

$scrambles = array(30) {
[0] => ''
[1] => ''
[2] => ''
[3] => ''
[4] => ''
[5] => ''
[6] => ''
[7] => ''
[8] => ''
[9] => ''
[10] => ''
[11] => ''
[12] => ''
[13] => ''
[14] => ''
[15] => ''
[16] => ''
[17] => ''
[18] => ''
[19] => ''
[20] => ''
[22] => ''
[23] => ''
[24] => ''
[25] => ''
[26] => ''
[27] => ''
[28] => ''
[29] => ''
}


Para luego hacer lo siguiente:

Código (php) [Seleccionar]
for ($i = 0; $i < $total; $i++) {
for ($z = 0; $z < $size; $z++) {
$aaa = rand(0, 17);
$scrambles[$i] = $scrambles[$i] . $notations[$aaa];
}


Output:
CitarParse error: syntax error, unexpected '{' in /home/a7568330/public_html/generate.php on line 7 FUUUCK
Saludos y espero respuestas :)))
AHORA EN SOFTONIC || CLICK HERE!!
Base64: QWNhYmFzIGRlIHBlcmRlciAxIG1pbnV0byBkZSB0dSB2aWRhLiBPbOkh



HACK AND 1337 : http://hackandleet.blogspot.com
WEBSITE: http://www.infiniterware.

Puntoinfinito

Ya arreglé el error  :D

Se debía hacer quitando el numero de espacios del array y la llave. Que quedase así:

Código (php) [Seleccionar]
array(
0 => 'elemento',
1 => "otro elemento",
2 => $elemento_tres,
3 => 'elemento 4'
)


Saludos  ;D
AHORA EN SOFTONIC || CLICK HERE!!
Base64: QWNhYmFzIGRlIHBlcmRlciAxIG1pbnV0byBkZSB0dSB2aWRhLiBPbOkh



HACK AND 1337 : http://hackandleet.blogspot.com
WEBSITE: http://www.infiniterware.

Mitgus

Hola, buen día.

Una pregunta, ¿no se puede crear el array sin colocar su subíndice?

Algo así:
Código (=php) [Seleccionar]

// el subindice se crea automaticamente ¿?
$array = array(
'elemento',
'otro elemento',
$elemento_tres,
$elemento_cuatro
)


Y con identificador, sería algo así?

Código (=php) [Seleccionar]

$array = array(
'elemento' => $elemento,
'elemento2' => $elemento2
)
Linux User #560388

WHK

#3
Hola, todo eso es posible pero php es mucho mas flexible, no necesitas declarar el tamaño del indice, de hecho si tu haces un array(18) solo estar{as creando la llave 18 pero la llave del 1 al 17 no existira.

Para las llaves puedes utilizar cualquier valor que sea un string incluyendo caracteres especiales de forma binaria, da igual, no necesariamente deben ser números, de hecho si haces esto: array('a', 'b') php agregara de forma automática los números, array(0) va a valer a.

Para procesar un array no necesitas for, solo utiliza un foreach y asi recorrerás cada llave sin la necesidad de una numeración.

Código (php) [Seleccionar]
$x = array('a', 'b' => 'd', 18, 32 => 'e', 'f');

echo '<pre>'.print_r($x, true).'</pre><br />';
foreach($x as $variable => $valor){
   echo 'variable: '.$variable.' ... valor: '.$valor.'<br />';
}


Mira esto:
http://codepad.org/rDzqZScg

Array
(
    [0] => a
    [b] => d
    [1] => 18
    [32] => e
    [33] => f
)

variable: 0 ... valor: a
variable: b ... valor: d
variable: 1 ... valor: 18
variable: 32 ... valor: e
variable: 33 ... valor: f


Disculpen las faltas ortográficas o problemas en el código, esque estoy probando la porquería de internet explorer 10 y me modifica el texto sin preguntar.

Mitgus

Muchas gracias por la respuesta WHK, me quedó claro como funciona esto de los arrays en PHP.

Saludos.
Linux User #560388