Me gustaría hacer algo bastante simple pero no conozco el código correcto en php.

Tengo una variable $ go cuyo contenido es GO: xxxxx

Me gustaría consultar que si el contenido de una variable tiene el patrón "GO:" y algo más, repita algo, pero si no, repita otra cosa

Quiero declarar una declaración if como:

if (preg_match('/GO/', $go) {
echo "something";
}
else {
echo "another thing";

Pero no puedo hacer que funcione ...

Quiero incrustar esta declaración entre esta parte de mi script:

$result = mysqli_query($enlace,"select count(distinct name2) as total from " . $table . " where go_id like '%" . $go . "%'");

$items = mysqli_fetch_assoc($result);

echo "<br/>";

echo "<b> The total number of genes according to GO code is:</b> " . $items['total'];

mysqli_free_result($result);

$result2 = mysqli_query($enlace,"select count(distinct name2) as total from " . $table . " where db_object_name like '%" . $go . "%'");

$items2 = mysqli_fetch_assoc($result2);

echo "<br/>";

echo "<b>The total number of genes according to GO association is:</b> " . $items2['total'];

mysqli_free_result($result2);

Tal como está ahora, la variable $ go puede tener un valor como GO: xxxx o una oración aleatoria, y, con este código, obtengo dos cadenas, una con valor 0 y otra con valor según el total de apariciones que coinciden con $ go contenido.

Lo que quiero es declarar una declaración if para que solo imprima una cadena, la que tiene el número de coincidencias según el contenido de $ go, pero no ambas.

¿Alguna ayuda?

php
1
Emilio Mármol Sánchez 15 dic. 2016 a las 14:05

2 respuestas

La mejor respuesta

Utilice strpos():

if (strpos($go, 'GO:') !== false) {
    echo 'true';
}
3
deChristo 15 dic. 2016 a las 11:08

Prueba esto

Echo (! strpos ($ go, 'GO:'))? "otra cosa": "algo";

Seguramente funcionará

1
Sunny Mahajan 15 dic. 2016 a las 11:38