Php 将数组导入类并使用foreach循环
我想使用foreach循环遍历数组$arr,同时也在排序函数my_sort中循环,但我不知道如何正确引用该数组。我设置了一个引用数组的公共构造函数,但我不确定在数组初始化后如何与它交互 imo有两个问题:Php 将数组导入类并使用foreach循环,php,arrays,class,sorting,constructor,Php,Arrays,Class,Sorting,Constructor,我想使用foreach循环遍历数组$arr,同时也在排序函数my_sort中循环,但我不知道如何正确引用该数组。我设置了一个引用数组的公共构造函数,但我不确定在数组初始化后如何与它交互 imo有两个问题: 将数组“导入”到类中:您所做的一切都正常 $arr=array(“b”=>4,“a”=>2,“c”=>8,“d”=>6”); $sort=新排序($arr); 您的数组现在在类中被引用 对数组进行排序:向类中添加sort()函数 公共函数排序() { 返回uasort($this->
- 将数组“导入”到类中:您所做的一切都正常
$arr=array(“b”=>4,“a”=>2,“c”=>8,“d”=>6”);
$sort=新排序($arr);
您的数组现在在类中被引用
- 对数组进行排序:向类中添加sort()函数
公共函数排序()
{
返回uasort($this->arr,array(uuu CLASS_uuu,“my_sort”);
}
使用函数
$sort->sort();
PS:你的my_排序函数是错误的,它不应该包含$this。使用另一个非静态函数遍历并抛出数组
您可以修改sort()函数,即:
公共函数排序()
{
foreach($this->arr as$item){
//东西
}
返回uasort($this->arr,array(uuu CLASS_uuu,“my_sort”);
}
imo有两个问题:
- 将数组“导入”到类中:您所做的一切都正常
$arr=array(“b”=>4,“a”=>2,“c”=>8,“d”=>6”);
$sort=新排序($arr);
您的数组现在在类中被引用
- 对数组进行排序:向类中添加sort()函数
公共函数排序()
{
返回uasort($this->arr,array(uuu CLASS_uuu,“my_sort”);
}
使用函数
$sort->sort();
PS:你的my_排序函数是错误的,它不应该包含$this。使用另一个非静态函数遍历并抛出数组
您可以修改sort()函数,即:
公共函数排序()
{
foreach($this->arr as$item){
//东西
}
返回uasort($this->arr,array(uuu CLASS_uuu,“my_sort”);
}
整理代码。。。。现在读起来容易多了问题是什么?有错误吗?某物..?致命错误:未捕获错误:当不在对象上下文中时使用$this对代码。。。。现在读起来容易多了问题是什么?有错误吗?某事..?致命错误:未捕获错误:不在对象上下文中使用$this
<?php
$arr=array("b"=>4,"a"=>2,"c"=>8,"d"=>"6");
class Sort {
public $arr = array();
public function __construct(&$arr=array()) {
$this->arr = $arr;
}
static function my_sort($a,$b) {
//I am trying to cycle through the array $arr within this class
foreach ($this->arr as $key => $value) {
print "success";
}
if ($a==$b)
return 0;
return ($a<$b)?-1:1;
}
}
uasort($arr,array("Sort","my_sort"));
print_r($arr);
?>