Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何捕获回显字符串的输出_Php - Fatal编程技术网

Php 如何捕获回显字符串的输出

Php 如何捕获回显字符串的输出,php,Php,我有以下代码: <?php //Page info $PageTitle = "Johnson electrician"; $search_for = array('Electrical Serviceh' => array('electrical', 'audio', 'electrician', 'security'), 'Plumbing Servicey' => array('heating', 'gas')); foreach ($search_for a

我有以下代码:

 <?php
//Page info
$PageTitle = "Johnson electrician";
$search_for =
array('Electrical Serviceh' => array('electrical', 'audio', 'electrician', 'security'), 'Plumbing Servicey' => array('heating', 'gas'));
     foreach ($search_for as $name=>$term){
         foreach ($term as $findme)
         {
             if (strpos($PageTitle,$findme) !== false)
             {
             echo $name;
             }
        }
    }
    ?>

其中显示“echo$name;”我希望$name成为一个变量,以后我可以在任何地方使用,但在脚本外部使用时,只要回显$name就给了我一个字段,而不是脚本的输出:

我尝试了以下方法,但无法使用多个输出:


在我的上一步中使用了单个值:,但现在您可以输入多个值,直接回显时将得到所有结果:。因此,我尝试对您的新代码执行相同的操作,以便将其输出到一个我可以使用的变量,但是失败了:

您可以将$name的值保留在另一个变量中以供将来参考。例如,在另一个数组中:

<?php
//Page info
$PageTitle = "Johnson electrician";
$nameArray = array();
$search_for = array('Electrical Serviceh' => array('electrical', 'audio', 'electrician', 'security'), 'Plumbing Servicey' => array('heating', 'gas'));
 foreach ($search_for as $name=>$term){         
     foreach ($term as $findme)
     {
         if (strpos($PageTitle,$findme) !== false)
         {
         $nameArray[] = $name;
         echo $name;
         }
    }
}
// to check the total array
print_r($nameArray);

// iterate over the array values
foreach ($nameArray as $name)
 {
     echo "<br/>".$name;
}

// to print selective values. note: index starts from 0
echo "<br/>".$nameArray[0];
echo "<br/>".$nameArray[1]; // and so on...
?>

根据评论部分的讨论更新代码(仅回显$name):

<?php
//Page info
$PageTitle = "Johnson electrician";
$nameArray = array();
$search_for = array('Electrical Serviceh' => array('electrical', 'audio', 'electrician', 'security'), 'Plumbing Servicey' => array('heating', 'gas'));
 foreach ($search_for as $name=>$term){

     foreach ($term as $findme)
     {
         if (strpos($PageTitle,$findme) !== false)
         {
         $nameArray[] = $name;
         echo $name;
         }
    }
}
echo '<br><br>';
echo $name = implode($nameArray, ', ');
?>


was ob\u get命令是foreach再次使用的东西,这太神奇了,谢谢。尽管提供了进一步的解决方案,但仍然没有将vale放入它自己的变量中。我需要进一步操作输出值,例如$var=str_replace(“”,,$var);实际上,$name不是它自己的变量。它是为迭代器关联索引指定的名称。那么如何将脚本“value of$name”的输出放入变量中呢。因为上面的选项是输出的进一步打印和回显。您错过了这一行:$nameArray[]=$name;这就是我们再次将值赋给另一个变量的地方。