Encuentra el error en el siguiente código pequeño

  • Autor Autor NASH
  • Fecha de inicio Fecha de inicio
N

NASH

Dseda
SEO
Verificación en dos pasos activada
Verificado por Whatsapp
SE SUPONE QUE ESTE CÓDIGO ROTA LOS CONTENIDOS DE LAS HOJAS xyz.php y abc.php al 50% cada uno. Es decir que al final del día si cada archivo habrá sido mostrado la misma cantidad de veces.

Sin embargo, no funciona el código.

Dónde está el error?

<?php
{
$pages = array(


1=>'include'FOLDER1/xyz.php'',
2=>'include'FOLDER2/abc.php'',
);


$page = array_rand($pages);
$page = $pages[$page];


echo $page;


}
?>
 
Claramente en:
1=>'include'FOLDER1/xyz.php'',
2=>'include'FOLDER2/abc.php'',

Algo me dice que usar las comillas de ese modo no es buena idea.
 
1=>'include'FOLDER1/xyz.php'',
2=>'include'FOLDER2/abc.php'',
);

Ahí. Esas doble comillas no van, al final va un apostrofo.
 
Claramente es un error común si empiezas con ' no puedes terminar con " es de primero de lógica.
 
Correcto, las comillas. Debe terminar como empezó, con '
 
Claramente en:
1=>'include'FOLDER1/xyz.php'',
2=>'include'FOLDER2/abc.php'',

Algo me dice que usar las comillas de ese modo no es buena idea.

Ahí. Esas doble comillas no van, al final va un apostrofo.

Claramente es un error común si empiezas con ' no puedes terminar con " es de primero de lógica.

Correcto, las comillas. Debe terminar como empezó, con '

Son 2 comillas simples (')
Como están juntas parece una doble.

Alguna otra idea?
 
Son 2 comillas simples (')
Como están juntas parece una doble.

Alguna otra idea?

Saca esa ultimo apostrofo. Está ahí sin hacer nada y puede generar el error. Si no, ponele un apostrofo a 'FOLDER1/xyz.php'', y saca ese ultimo apostrofo. Porque si la ruta llevase apostrofos, te estaria faltando uno que inicie la ruta.

O sea, si es 'include'FOLDER1/xyz.php'', include lleva sus apostrofos 'include' y luego la ruta sus apostrofos 'FOLDER1/xyz.php' . Lo cual ya cerrados los apostrofos de 'include' , hacen irrelevante el último apostrofo en la ruta. Si no, sacale los apostrofos en include, que tengo entendido no tendria que tenerlos.
 
Última edición:
Son 2 comillas simples (')
Como están juntas parece una doble.

Alguna otra idea?

Hola compañero. Pues una de esas deberia ir al inicio, probablemente, es decir, delante de 'include. Pon otra a ver y quita una de las del final :encouragement:

- - - Actualizado - - -

O no sera que en medio de ellas iba otra cosa? Quien te hizo el trabajo?
 
PHP:
<?php
$pages = array(
  1=> include 'FOLDER1/xyz.php',
  2=> include 'FOLDER2/abc.php',
);

$page = array_rand($pages);
$page = $pages[$page];

echo $page;

?>
 
PHP:
<?php
$pages = array(
  1=> include 'FOLDER1/xyz.php',
  2=> include 'FOLDER2/abc.php',
);

$page = array_rand($pages);
$page = $pages[$page];

echo $page;

?>

Hola, al principio lo hice así (sin poner apostrofo al principio) y no funcionó.
Luego puse apostrofo al principio (ese es el código que puse) y tampoco funcionó.

- - - Actualizado - - -

Será que include no sirve para esto?
Miren aquí:
php - Assigning contents to a variable with include/require_once - Stack Overflow
 
PHP:
include
es una estructura de control de PHP, no puede llevar comillas, prueba a ponerlo así:

PHP:
<?php

$pages = array(
  1=> (include 'FOLDER1/xyz.php'),
  2=> (include 'FOLDER2/abc.php'),
);

// ...

Otra cosa, qué editor de texto estás usando?
 
Las comillas se superponen
 
edito.
Me he equivocado
 
Última edición:

Temas similares

Atrás
Arriba