Так что это может быть что-то легкое, но я застрял. По какой-то причине я не могу заставить это работать, используя функцию с str_replace для изменения/редактирования переменной, которую я, похоже, не могу заставить работать.str_replace() внутри функция
index.php
<?php
include("test.php");
?>
<html><head></head><body>
<? $a = cons(array("one","two","three"),array("four","five","six")); ?>
</body></html>
test.php
$header = '<form class="Poll" method="post" action="%src%"><input type="hidden" name="QID" value="%qid%" /><h4>%question%</h4><table width="100%">';
$md5 = '';
$question = array();
$answers = array();
$tips = array();
function cons($params, $tips) {
$question = array_shift($params);
$answers = $params;
$tooltip = $tips;
$md5 = md5($question);
$header = str_replace('%src%', $_SERVER['SCRIPT_NAME'], $header);
$header = str_replace('%qid%', $md5, $header);
$header = str_replace('%question%', $question, $header);
//isset($_COOKIE[$md5]) ? poll($VOTES) : poll($POLL);
/* using this to test */
if(isset($_COOKIE[$md5])){
echo "Hello";
}else{
echo $header;
//echo $center;
//echo $footer;
}
echo $md5;
}
Когда я эхо из $ md5 из минусов() работает, и когда я print_r() $ ответов и $ tips работает. Str_replace, как я думаю, очищает $ header вместо замены% src%. Я сделал много поиска, но все, что я наткнулся, пользователи/учебники показывают такие вещи, как
echo str_replace('%question%', $question, $header);
, который не то, что я ищу. Я хочу, чтобы код был несколько компактным, а не дублированием и повторяющимся кодом. Поэтому не совсем уверен, что делать, если у кого есть какие-то идеи или предложения, мы будем очень благодарны.
Возможно, вы не передаете переменную '$ header' в свою функцию и не включили' error_reporting 'даже если что-то не работает. – mario
'$ header' недоступен в' cons() '. Попробуйте передать его в 'cons()' или объявите его глобальным. – Reeno
@reeno, если вы разместите это как ответ, я приму его. Я даже не думал об объявлении $ header как глобального. Это исправило мою проблему. Спасибо alot – acrichm