II' m使用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 ="手镯。我希望这是一个数组。 e.g。
public function test()
{
$array = [
"foo" => "bar",
"bar" => "foo",
];
$this->category = $array;
}
好的,这已经解决了。这是由于其他地方的一个小错误。有一会儿,我相信在一个宁静的API中有一个数组的问题。
我希望这对任何希望在api类中将一个函数结果传递给另一个函数的人都有用。
答案 0 :(得分:0)
查看代码,您似乎希望category
属性为所有类别的array
,从数据库中读取..?
我确实发现了代码中的一些错误:
$cat_array
与$cat_arr
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);
}