Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.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常量在foreach循环中重复_Php_Foreach_Constants - Fatal编程技术网

php常量在foreach循环中重复

php常量在foreach循环中重复,php,foreach,constants,Php,Foreach,Constants,我为这个问题绞尽脑汁已经有一段时间了。我搞不清楚出了什么问题。 下面的代码非常简单,VISOR_URL是另一个文件中定义的常量。如果我在forearch循环外回显它,它将打印常量值。如果我在循环中打印它,它的值会被复制。 如果我使用变量,同样的问题也会发生。 有什么想法吗?。 提前谢谢。 塞巴斯蒂安 <?php require_once('conf.php');//I require the file where VISOR_URL is defined //VISOR_URL is de

我为这个问题绞尽脑汁已经有一段时间了。我搞不清楚出了什么问题。 下面的代码非常简单,VISOR_URL是另一个文件中定义的常量。如果我在forearch循环外回显它,它将打印常量值。如果我在循环中打印它,它的值会被复制。 如果我使用变量,同样的问题也会发生。 有什么想法吗?。 提前谢谢。 塞巴斯蒂安

<?php
require_once('conf.php');//I require the file where VISOR_URL is defined
//VISOR_URL is defined in conf.php. define('VISOR_URL', $server_ip.'/'.VISOR_NAME);

echo VISOR_URL; //echoes http://192.168.0.15/tncvisornuevo

if (!empty($occurrence_ids)) {//occurrence_ids is an array and values are printed fine

    foreach ($occurrence_ids as $key => $value) {
        echo VISOR_URL; //echoes http://192.168.0.15/tncvisornuevohttp://192.168.0.15/tncvisornuevo 

        $ocurrencia = new ca_occurrences($value);

        $nombre_ocurrencia = $ocurrencia->get('ca_occurrences.preferred_labels');

        $link = '<a href="'.VISOR_URL.'/views/occurrenceDetails.php?occurrence_id='.$value.'">'.$nombre_ocurrencia.'</a>';

        echo $link."<br>";
    }

}
?>

以下简单示例不复制常量值:

<?php

//Define a constant
define('CONSTANT', 'imaconstant');

echo CONSTANT."<br>"; //Echoes imaconstant

$test_array = array(0,1,2,3,4,5,6,7,8);

foreach ($test_array as $key => $value) {
    echo $value.CONSTANT,"<br>"; //Echoes nimaconstant, n+1imaconstant

}

?>

它将在循环运行时多次回显它。比如说-

$array = array('aa','bb','cc');
$var = "abc";

foreach($array as $key => $value);
{
    echo $var.'<br>';
}

/*   
   abc
   abc
   abc
*/
$array=array('aa','bb','cc');
$var=“abc”;
foreach($key=>$value的数组);
{
echo$var.“
”; } /* abc abc abc */

现在,由于数组的大小为3,循环将运行3次并回显变量…当然是3次。

检查
新的ca_出现($value)
$ocurrencia->get
未输出
VISOR_URL
的值。不过OP会在循环中回显其他内容<代码>echo VISOR_URL。。。;echo$link.“
”如果我想在foreach循环中使用$var?@sms-我只在
foreach
中打印
$var
,这是我期望的行为。但在我的第一个代码示例中,它在每个循环中打印abcabc。