php 将 _construct 中的数组放入函数中
php putting an array from _construct into function
我正在使用 API 并且想知道为什么我无法让数组跨入函数。以下工作正常,但我怎样才能让它适用于数组。
public function __construct()
{
parent::__construct(); // Init parent constructor
$this->dbConnect();
$this->test();
}
public function test()
{
$this->category = "bracelets";
}
private function piece()
{
// Pass an array into this function here and then use depending on array key
$cat = $this->category;
}
所以不是常量 $this->category="bracelets。我希望这是一个数组。例如
public function test()
{
$array = [
"foo" => "bar",
"bar" => "foo",
];
$this->category = $array;
}
好的,已经解决了。这是由于其他地方的小错误。有那么一刻,我认为 restful API 中的数组存在问题。
我希望这对任何其他希望在 api class 中将一个函数结果传递给另一个函数的人有用。
查看您的代码,您似乎希望 category
属性 成为所有类别的 array
,从数据库中读取..?
我确实在您的代码中发现了一些错误:
$cat_array
与 $cat_arr
变量名称混淆
- 您 select
cat
数据库中的列,但请尝试阅读 category
我对您的 test()
方法进行了细微修改以修复它:
public function __construct()
{
parent::__construct(); // Init parent constructor
$this->dbConnect();
$this->test();
}
// Array with name of all categories, indexed by category id
private $category;
public function test()
{
$query = "SELECT c.id, c.cat FROM category c order by c.id asc";
$cat = $this->mysqli->query($query)
or die ($this->mysqli->error . __LINE__);
if ($cat->num_rows > 0) {
$cat_array = array();
while ($crow = $cat->fetch_assoc()) {
$id = $crow['id'];
$cat_array[$id] = $crow['cat'];
//$cat_array[$crow['id']]=$crow['category'];
}
$this->category = $cat_array;
//$this->response($this->json($result), 200); // send details
}
}
private function piece()
{
// Pass an array into this function here and then use depending on array key
$cat = $this->category;
// Check if it is working as expected
print_r($cat);
}
我正在使用 API 并且想知道为什么我无法让数组跨入函数。以下工作正常,但我怎样才能让它适用于数组。
public function __construct()
{
parent::__construct(); // Init parent constructor
$this->dbConnect();
$this->test();
}
public function test()
{
$this->category = "bracelets";
}
private function piece()
{
// Pass an array into this function here and then use depending on array key
$cat = $this->category;
}
所以不是常量 $this->category="bracelets。我希望这是一个数组。例如
public function test()
{
$array = [
"foo" => "bar",
"bar" => "foo",
];
$this->category = $array;
}
好的,已经解决了。这是由于其他地方的小错误。有那么一刻,我认为 restful API 中的数组存在问题。
我希望这对任何其他希望在 api class 中将一个函数结果传递给另一个函数的人有用。
查看您的代码,您似乎希望 category
属性 成为所有类别的 array
,从数据库中读取..?
我确实在您的代码中发现了一些错误:
$cat_array
与$cat_arr
变量名称混淆
- 您 select
cat
数据库中的列,但请尝试阅读category
我对您的 test()
方法进行了细微修改以修复它:
public function __construct()
{
parent::__construct(); // Init parent constructor
$this->dbConnect();
$this->test();
}
// Array with name of all categories, indexed by category id
private $category;
public function test()
{
$query = "SELECT c.id, c.cat FROM category c order by c.id asc";
$cat = $this->mysqli->query($query)
or die ($this->mysqli->error . __LINE__);
if ($cat->num_rows > 0) {
$cat_array = array();
while ($crow = $cat->fetch_assoc()) {
$id = $crow['id'];
$cat_array[$id] = $crow['cat'];
//$cat_array[$crow['id']]=$crow['category'];
}
$this->category = $cat_array;
//$this->response($this->json($result), 200); // send details
}
}
private function piece()
{
// Pass an array into this function here and then use depending on array key
$cat = $this->category;
// Check if it is working as expected
print_r($cat);
}