PHP从不同的文件访问数组
我在文件中创建了一个包含所有HTML颜色的数组(我在这里稍微缩短了列表)PHP从不同的文件访问数组,php,arrays,class,include,require,Php,Arrays,Class,Include,Require,我在文件中创建了一个包含所有HTML颜色的数组(我在这里稍微缩短了列表) 这里我调用数组并将所有颜色放入select语句中 <?php require_once('../Class/content_part.class.php'); include_once('../Include/Colors_Array_inc.php'); class contentSettings extends content_part { public function render(){
这里我调用数组并将所有颜色放入select语句中
<?php
require_once('../Class/content_part.class.php');
include_once('../Include/Colors_Array_inc.php');
class contentSettings extends content_part
{
public function render(){
$result = '
<div class="Content">
<select>';
$length = count($AllColorsArray);
for($i = 0; $i < length; $i++){
$result .= '<option>' . $AllColorsArray[$i] . '</option>';
}
$result .= '</select></div>';
return $result;
}
}
?>
我以前在我的另一个项目中做过,它在那里工作。
这里唯一的区别是我调用和使用数组的第二个文件在一个类中
有人知道为什么这不起作用吗?还有一种解决方案。您错过了:
在($i=0;$i
$AllColorsArray
应作为属性创建:
class contentSettings extends content_part
{
public $AllColorsArray=array(
'AliceBlue',
'AntiqueWhite',
'Aqua',
'Aquamarine',
'Teal',
'Thistle',
'Tomato'
);
public function render(){
$result = '
<div class="Content">
<select>';
$length = count($this->AllColorsArray);
for($i = 0; $i < length; $i++){
$result .= '<option>' . $this->AllColorsArray[$i] . '</option>';
}
$result .= '</select></div>';
return $result;
}
}
class contentSettings扩展内容部分
{
public$AllColorsArray=数组(
“AliceBlue”,
“古董白”,
“水”,
“海蓝宝石”,
"水鸭",,
"蓟",,
“西红柿”
);
公共职能{
$result='1
';
$length=count($this->AllColorsArray);
对于($i=0;$iAllColorsArray[$i].';
}
$result.='';
返回$result;
}
}
它是变量范围;您的$AllColorsArray
在函数外部声明,因此函数无法访问它。您需要将其作为参数或全局变量传入。或者,如果您看起来像在使用类,您也可以将其定义为类变量,在构造函数中设置,然后使用它y、 我的问题已经解决了。谢谢大家帮助我!如果这里的一个答案解决了你的问题,那么你可以接受它;如果你自己解决了,那么你可以添加你自己的答案,并在你能够接受的时候接受它。我还不能接受答案,它很快就解决了。需要再等6分钟。但当然,我肯定会的把它解决了。啊,谢谢你-这将是网站上少了一个未解决的问题!什么是全局的,它是什么?你能解释或知道一个链接吗?我在这里学习不复制粘贴。非常感谢。我已经把这个链接放在了答案中。它被称为变量范围:基本上PHP就是这样决定的,哪个变量是可用的E代码的哪个部分。请参阅上面的“安德鲁西的评论”。在类上下文中使用$this->property
。您可以有一个方法(类的函数)来设置数组值,如setAllColorsArray($yourColorsArray)
。谢谢您的建议,但数组太长了。这只是我喜欢的东西,尽管@Manolo感谢您的建议
public function render() {
global $AllColorsArray;
[...]
}
class contentSettings extends content_part
{
public $AllColorsArray=array(
'AliceBlue',
'AntiqueWhite',
'Aqua',
'Aquamarine',
'Teal',
'Thistle',
'Tomato'
);
public function render(){
$result = '
<div class="Content">
<select>';
$length = count($this->AllColorsArray);
for($i = 0; $i < length; $i++){
$result .= '<option>' . $this->AllColorsArray[$i] . '</option>';
}
$result .= '</select></div>';
return $result;
}
}