Problema con Array

  • Autor Autor victor19902689
  • Fecha de inicio Fecha de inicio
V

victor19902689

Delta
Verificación en dos pasos activada
hola como estan todo espero que bien

No soy un experto en php asi que necesito su ayuda urgente claro si pueden ayudarme el problema es el siguiente tengo este array>:


<?php
$arrayExample = array(google.com, google.es, game.com, forobeta.com, google.eu);
$termToSearch = 'google';
$matches = array_filter($arrayExample, function($var) use ($termToSearch) { return stristr($var, $termToSearch); });
if($matches) {
foreach ($matches as $match) {
echo $match;
}
} else {
echo $link_1;
}
?>

al ejecutar el codigo osea buscando dentro del array google

me imprime esto: google.comgoogle.esgoogle.eu

donde solo me interesaría que me presentara solo el primer resultado que es google.com lo otros resultado no me interesa

gracias ante manos
 
hola como estan todo espero que bien

No soy un experto en php asi que necesito su ayuda urgente claro si pueden ayudarme el problema es el siguiente tengo este array>:


<?php
$arrayExample = array(google.com, google.es, game.com, forobeta.com, google.eu);
$termToSearch = 'google';
$matches = array_filter($arrayExample, function($var) use ($termToSearch) { return stristr($var, $termToSearch); });
if($matches) {
foreach ($matches as $match) {
echo $match;
}
} else {
echo $link_1;
}
?>

al ejecutar el codigo osea buscando dentro del array google

me imprime esto: google.comgoogle.esgoogle.eu

donde solo me interesaría que me presentara solo el primer resultado que es google.com lo otros resultado no me interesa

gracias ante manos

Jajajaj se nota!!!
Unas clases básicas no te caería mal.

Estas declarando mal el array. Debes definir los valores como cadenas.

$arrayExample = array('google.com' , 'google.es' , 'game.com' , 'forobeta.com' , 'google.eu');


Saludos cordiales,
avidal
 
Jajajaj se nota!!!
Unas clases básicas no te caería mal.

Estas declarando mal el array. Debes definir los valores como cadenas.

$arrayExample = array('google.com' , 'google.es' , 'game.com' , 'forobeta.com' , 'google.eu');


Saludos cordiales,
avidal
lo que pasa que hay van variable no texto
 
Jajajaj se nota!!!
Unas clases básicas no te caería mal.

Estas declarando mal el array. Debes definir los valores como cadenas.

$arrayExample = array('google.com' , 'google.es' , 'game.com' , 'forobeta.com' , 'google.eu');


Saludos cordiales,
avidal
asi
$arrayExample = array($link_1, $link_2, $link_3, $link_4, $link_5);
 
asi
$arrayExample = array($link_1, $link_2, $link_3, $link_4, $link_5);

Si solo quieres el primer resultado de un array, no hagas foreach, simplemente usa [0],

$arrayExample = array($link_1, $link_2, $link_3, $link_4, $link_5);
echo $arrayExample[0];

El cero es el primer elemento, si quieres el segundo es 1, y asi sucesivamente.
 
Si solo quieres el primer resultado de un array, no hagas foreach, simplemente usa [0],

$arrayExample = array($link_1, $link_2, $link_3, $link_4, $link_5);
echo $arrayExample[0];

El cero es el primer elemento, si quieres el segundo es 1, y asi sucesivamente.
te voy a explicar lo que me paso resulta que tengo una pagina de adulto donde el host principal era datoporn.co que pasa resulta que a dejado de pagar hay mas de 6000 videos en ese host recibiendo miles de visitas diaria por lo cal no estoy ganando nada porque no le tengo publicidad a mi web

la pagina esta hecha para trabajar con 5 host de archivos que serian esto
$arrayExample = array($link_1, $link_2, $link_3, $link_4, $link_5);

aqui buscara entre todos eso link el host que yo decida poner como primcipal osea moviendo todos los link de la pagina completa cuando yo quiera
de donde quiero el resulta numero uno es de $termToSearch
$termToSearch = 'google';

aqui el codigo completo que tengo

<?php
$arrayExample = array($link_1, $link_2, $link_3, $link_4, $link_5);
$termToSearch = 'jetload';
$matches = array_filter($arrayExample, function($var) use ($termToSearch) { return stristr($var, $termToSearch); });
if($matches) {
foreach ($matches as $match) {
echo $match;
}
} else {
echo $link_1;
}
?>
 
te voy a explicar lo que me paso resulta que tengo una pagina de adulto donde el host principal era datoporn.co que pasa resulta que a dejado de pagar hay mas de 6000 videos en ese host recibiendo miles de visitas diaria por lo cal no estoy ganando nada porque no le tengo publicidad a mi web

la pagina esta hecha para trabajar con 5 host de archivos que serian esto
$arrayExample = array($link_1, $link_2, $link_3, $link_4, $link_5);

aqui buscara entre todos eso link el host que yo decida poner como primcipal osea moviendo todos los link de la pagina completa cuando yo quiera
de donde quiero el resulta numero uno es de $termToSearch
$termToSearch = 'google';

aqui el codigo completo que tengo

<?php
$arrayExample = array($link_1, $link_2, $link_3, $link_4, $link_5);
$termToSearch = 'jetload';
$matches = array_filter($arrayExample, function($var) use ($termToSearch) { return stristr($var, $termToSearch); });
if($matches) {
foreach ($matches as $match) {
echo $match;
}
} else {
echo $link_1;
}
?>
Vale, creo que lo que quieres es que el término que buscas coincida con el termToSearch y recien ahi imprimas el resultado.
Osea ver cual coincide con el term search.

Si es asi entonces, podrías simplemente poner una condicion dentro del foreach

PHP:
foreach($matches as $match){
    if($termToSearch == $match) {
        echo $match;
        break;
    }

}
 
Vale, creo que lo que quieres es que el término que buscas coincida con el termToSearch y recien ahi imprimas el resultado.
Osea ver cual coincide con el term search.

Si es asi entonces, podrías simplemente poner una condicion dentro del foreach

PHP:
foreach($matches as $match){
    if($termToSearch == $match) {
        echo $match;
        break;
    }

}
Te envio mensaje
 
Te envio mensaje

El problema de tu codigo, es que debes ser mas especifico con tu $termToSearch, si tienes mas de un elemento con la palabra "google," obviamente imprimirá todos los términos iguales, debes solo ser mas especifico. Por ejemplo si tienes, google.es, y google.com, en el termtosearch usa "google.es"
 
El problema de tu codigo, es que debes ser mas especifico con tu $termToSearch, si tienes mas de un elemento con la palabra "google," obviamente imprimirá todos los términos iguales, debes solo ser mas especifico. Por ejemplo si tienes, google.es, y google.com, en el termtosearch usa "google.es"
pero el problema es que hay videos en varias parte osea sera cd1 cd2 con el mismo host de archivos osea los dominion seran iguales porque de lo contrario el codigo me funciona a la perfecion pero si el video es de varios cd solo me gustaria sacar 1 no los dos
 
pero el problema es que hay videos en varias parte osea sera cd1 cd2 con el mismo host de archivos osea los dominion seran iguales porque de lo contrario el codigo me funciona a la perfecion pero si el video es de varios cd solo me gustaria sacar 1 no los dos

Vale, usa strpos que toma el primer resultado, lo acabo de testear funciona.
PHP:
foreach ($matches as $match) {
    $pos = strpos($termToSearch, $match);

    if ($pos !== false) {
        echo $match;
        break;
    }
}
 
pero el problema es que hay videos en varias parte osea sera cd1 cd2 con el mismo host de archivos osea los dominion seran iguales porque de lo contrario el codigo me funciona a la perfecion pero si el video es de varios cd solo me gustaria sacar 1 no los dos

Me disculpo, lo había escrito al revés, este es el correcto.
PHP:
foreach ($matches as $match) {
   
    if (strpos($match, $termToSearch) !== false) {
        echo $match;
        break;
    }
}
 
Vale, usa strpos que toma el primer resultado, lo acabo de testear funciona.
PHP:
foreach ($matches as $match) {
    $pos = strpos($termToSearch, $match);

    if ($pos !== false) {
        echo $match;
        break;
    }
}
1000 gracias bro te debo la vida tenia mas de 8 horas en eso
 
Atrás
Arriba