已删除
本帖最后由 nic 于 2015-1-22 11:19 编辑aaaaaaa 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)
$this->load->library('bb');
foreach
$this->bb->init($data);
endforeach 本帖最后由 Closer 于 2015-1-19 10:43 编辑
你想要做到甚麼樣的效果?
為何不考慮用 model ? <?php
$variable = array(
'a' => '1',
'a' => '2',
'a' => '3',
'a' => '4',
);
foreach ($variable as $key => $value) {
$data = array($key=>$value);
$this->load->library('bb', $data);
$temp = $this->bb->function();
if($temp == "判断成立"){
var_dump($data);
break;
}
} 也許 library 有防止重複載入機制
你試著反過來把 foreach 放進你的 bb 做迴圈 Closer 发表于 2015-1-19 10:59
也許 library 有防止重複載入機制
你試著反過來把 foreach 放進你的 bb 做迴圈
- -怎么可能啊 我控制器靠这个东西判断 回来的值我还要用的 难道我把东西都塞进去library 然后等类返回给我值么- -
nic 发表于 2015-1-19 11:12
- -怎么可能啊 我控制器靠这个东西判断 回来的值我还要用的 难道我把东西都塞进去library 然后等类返回给 ...
library 不像 model 是呼叫一次用一次
當你 library 載入之後,該方法(或類)都可以使用
你試想,你載入一個 bb 的 library
理所當然的這個方法都可以用 $this->bb 來讀取
當你有兩個 bb 呢?
怎麼判斷?
CI 要嘛只讀取第一次 library
要嘛只會獲取第一個 library
你只能換其他方式來處理
model不也是一样么- -难道你$this->load->model('a');就是$this->load->model('a');
$this->a->function1();
$this->load->model('a');
$this->a->function2():
?
nic 发表于 2015-1-19 11:22
model不也是一样么- -难道你$this->load->model('a');就是
但 model 載入之後是調用裡面的方法
除非你的 library 也用類似的方式 - -可能我没说清楚 现在的问题只在于 调用library是传值进去构造函数 构造函数的值 其他方法用到的 这里只是做一个例子 nic 发表于 2015-1-19 11:24
- -可能我没说清楚 现在的问题只在于 调用library是传值进去构造函数 构造函数的值 其他方法用到的 这里只 ...
你的問題和解答
我已經在六樓的地板給你了
我上述所指的 model
是指 $this->load->model('test');
這樣使用 $this->test->get_data('123');
而非
$this->load->model('test');
$this->test->get_data('123');
$this->load->model('test');
$this->test->get_data('123');
這樣的邏輯是錯誤的
因為系統不會知道你到底要哪一個 test (model)
同理 library 也是類似