Cita:
Iniciado por SkAr88 Se supone que estas buscando y reemplazando tags en una variable, guardando el resultado en esa misma variable, a lo que yo entiendo segun el manual de php.net es que el resultado se sebe guardar en otra variable y no en la misma que estas buscando. Por lo menos asi lo.entiendo yo
Cierto, tienes razón. He cambiado mi código a lo siguiente, pero sigue sin funcionar, puesto que no introduce valores en $_SESSION['randomresult']['questions'][$i]['question'], pero las preguntas aleatorias sí las devuelve en el array del return.
Código PHP:
Ver original//obtengo de la BD todos los tags y los meto en array
$select = "SELECT * FROM tags";
$get = $newget2->conectar( $select );
{
$tags[] = $result_conexion['tag'];
}
//declaro questions como array
//busco 5 preguntas aleatorias
//y sustituyo [nombre] por el valor que deseo finalmente
for($i=0; $i<=4 ; $i++)
{
//obtengo 5 numeros aleatorios
$getquestionrandom = $newget->getrandomvalue ( $getquestions );
//guardo las preguntas segun los numeros anteriores
array_push($questionsrandom, $getquestions[$getquestionrandom]);
//busco en las preguntas los tags
if ( in_array( $tags, $questionsrandom[$i] ) ) {
//reemplazo los tags por el valor y finalmente lo guardo
$_SESSION['randomresult']['questions'][$i]['question'] =
str_ireplace ( $tags['tag'], "@".$_SESSION['randomresult']['friend']['screen_name'], $questionsrandom[$i]['question'] );
}
}
return $questionsrandom;
sigo pensando que el problema está en el str_ireplace y no sé por qué :S