Php 如何在同一类中将变量从一个方法传递到另一个方法?
这是我的密码:Php 如何在同一类中将变量从一个方法传递到另一个方法?,php,class,methods,Php,Class,Methods,这是我的密码: class something { public function one() { $choices = array( 'something' = array( 'name' => 'test'; ), 'something_two' = array( 'name' => 'test_one';
class something {
public function one() {
$choices = array(
'something' = array(
'name' => 'test';
),
'something_two' = array(
'name' => 'test_one';
),
);
}
public function two() {
?>
<select>
<?php
foreach ($this->function_one() as $choice) {
echo '<option value="'.$choice['name'].'">'.$choice['name'].'</option>';
}
?>
</select>
<?php
}
}
分类{
公共职能一{
$choices=数组(
'something'=数组(
'名称'=>'测试';
),
'something_two'=数组(
'name'=>'test_one';
),
);
}
公共职能二{
?>
我没有测试过这个,但是我已经纠正了在代码中看到的所有错误,试试这个
您的代码没有函数1返回任何内容。foreach循环也以不同方式调用该函数,我已删除workd“function”,并将其替换为$this->one()
分类{
公共职能一{
$choices=数组(
'something'=数组(
'名称'=>'测试';
),
'something_two'=数组(
'name'=>'test_one';
),
);
返回$choices;
}
公共职能二{
?>
首先,有几个要点:
- 您的数组声明有多个语法错误(
=
到=>
并删除分号)
- 生成选择选项时,如果值属性与文本值相同,则无需写入该属性
现在我将提供两个使用不同技术的工作代码块
代码1:()
分类{
公共职能一{
$choices=数组(
'something'=>数组(
“名称”=>“测试”
),
'something_two'=>数组(
'name'=>'test_one'
)
);
返回$choices;
}
公共职能二{
回声“;
echo“”,内爆(“,数组_列($this->one(),'name')),”;
回声“;
}
}
$foo=新事物();
$foo->two();
代码2:()
分类{
public$choices=array();
公共函数构造(){
$this->choices=array(
'something'=>数组(
“名称”=>“测试”
),
'something_two'=>数组(
'name'=>'test_one'
)
);
}
公共职能二{
回声“;
echo“”,内爆(“,数组_列($this->choices,'name'),”;
回声“;
}
}
$foo=新事物();
$foo->two();
无论是从函数two()
显式调用one()
,还是使用构造函数在类中声明变量(属性)(通过对象$this
)将取决于您的项目要求。我将避免从php手册中写出大量的引用;我建议您阅读一些关于类和方法的基本教程。哦,我好像忘了返回$choices。谢谢您的帮助
class something {
public function one(){
$choices = array(
'something' = array(
'name' => 'test';
),
'something_two' = array(
'name' => 'test_one';
),
);
return $choices;
}
public function two(){
?>
<select>
<?php
foreach ($this->one() as $choice ){
echo '<option value="'.$choice['name'].'">'.$choice['name'].'</option>';
}
?>
</select>
<?php
}
}
class something {
public function one() {
$choices = array(
'something' => array(
'name' => 'test'
),
'something_two' => array(
'name' => 'test_one'
)
);
return $choices;
}
public function two() {
echo "<select>";
echo "<option>" , implode("</option><option>", array_column($this->one(), 'name')) , "</option>";
echo "</select>";
}
}
$foo = new something();
$foo->two();
class something {
public $choices = array();
public function __construct() {
$this->choices = array(
'something' => array(
'name' => 'test'
),
'something_two' => array(
'name' => 'test_one'
)
);
}
public function two() {
echo "<select>";
echo "<option>" , implode("</option><option>", array_column($this->choices, 'name')) , "</option>";
echo "</select>";
}
}
$foo = new something();
$foo->two();