阿呆 发表于 2015-1-19 12:34:59

$this->load->library('bb');
foreach
$this->bb->init($data);
endforeach

燃雲 发表于 2015-1-19 14:26:56

PHP是如何处理这事的?

答案相当简单:

unset()


看你的情况, 11楼的方案是你要的。

$this->load->library('bb');
foreach
$this->bb->init($data);
endforeach


看手册,动脑筋,是解决问题的基本功夫。

先做好基本功吧!

nic 发表于 2015-1-19 14:55:00

燃雲 发表于 2015-1-19 14:26
PHP是如何处理这事的?

答案相当简单:


只想问 你试过没? 你试过再来回复吧

nic 发表于 2015-1-19 15:12:52

阿呆 发表于 2015-1-19 12:34
$this->load->library('bb');
foreach
$this->bb->init($data);


我打包上传了 你看看怎么弄

nic 发表于 2015-1-19 15:13:26

Closer 发表于 2015-1-19 10:42
你想要做到甚麼樣的效果?
為何不考慮用 model ?

打包上传了代码 请帮忙看看

Hex 发表于 2015-1-19 15:15:10

我简单说一句吧,CI 的设计宗旨就是单例模式,也就是说不支持你这种多实例。
如果想多实例,那就要自己修改 loader.php 文件。
但是,你这样就破坏了 CI 的设计宗旨,我觉得是没有必要的。你可以说说你的需求,也许我们可以有更优雅的方式去实现。

nic 发表于 2015-1-19 15:17:53

本帖最后由 nic 于 2015-1-19 15:19 编辑

Hex 发表于 2015-1-19 15:15
我简单说一句吧,CI 的设计宗旨就是单例模式,也就是说不支持你这种多实例。
如果想多实例,那就要自己修改 ...
哦?不好意思 我对设计模式不太懂
我的想法是 利用一个已经写好的类
我只需要传值进去那个类 获取判断 或者完成加密 返回给控制器
但是 有可能传值不是一个就能通过 有机会循环传值进去做判断 您可以下载打包的代码看看

Hex 发表于 2015-1-19 15:19:44

nic 发表于 2015-1-19 15:17
哦?不好意思 我对设计模式不太懂

简单说吧,CI 的所有对象,都只有一个实例。。。。
你非得要实例化多个实例,所以 CI 本身是不支持你这种行为的。
我看了你的另一个帖子,你就直接先 include 再 new 好了,不要用 load 的方式去加载。

nic 发表于 2015-1-19 15:21:18

Hex 发表于 2015-1-19 15:19
简单说吧,CI 的所有对象,都只有一个实例。。。。
你非得要实例化多个实例,所以 CI 本身是不支持你这种 ...

同意引入再new 的方法 但是有更好的方法吗?

阿呆 发表于 2015-1-19 15:36:28

nic 发表于 2015-1-19 15:12
我打包上传了 你看看怎么弄

不知道是不是你要的。


class Welcome extends CI_Controller {

    public function index() {
      $variable = array(
            'a' => '1',
            'b' => '2',
            'c' => '3',
            'd' => '4',
      );
      $this->load->library('text'); //第一次可行,第二次就失败
      foreach ($variable as $key => $value) {
            $data = array('key' => $key, 'value' => $value);
            $this->text->init($data);
            $temp = $this->text->function1();
            if($temp){
                var_dump($data);
                break;
            }
      }
    }
}


class Text {
    private $key;
    private $value;

    public function __construct($data='') {
      $this->init($data);
    }

    function init($data){
      if(!$data) return;
      $this->key = $data["key"];
      $this->value = $data["value"];
      echo $this->key . "<br/>";
      echo $this->value . "<br/>";
    }

    public function function1() {
      $key = $this->key;
      $value = $this->value;
      if($key == "d" && $value == "4") {
            return TRUE;
      } else {
            return FALSE;
      }
    }
}


输出:
a
1
b
2
c
3
d
4
array'key' => string 'd' (length=1)'value' => string '4' (length=1)


页: 1 [2] 3
查看完整版本: 已删除