我对数组上的索引有疑问。
我有一个来自mysql结果(PDO)的数组。
例如:
array(1) { [0]=> array(4) { ["carte_id"]=> string(1) "9" ["carte_titel"]=> string(16) "Pizza margherita" ["carte_cat"]=> string(1) "2" ["carte_text"]=> string(25) "Tomates Mozzarella Origan" } }
然后我需要创建表单元素:
$sql = "SELECT * FROM carte WHERE carte_id = ".$carte_id." LIMIT 1";
$this->result = $this->mysql_sql($sql);
var_dump($this->result); //This is the dump you can see above
$carte_titel = $this->result[0]['carte_titel']; //problem
$carte_text = $this->result[0]['carte_text']; //problem
$t= $this->html->create_hidden_input_element('carte_id',$carte_id);
$t.=$this->cat_option($this->result[0]['carte_cat']);
$t.= $this->html->create_input_element('carte_titel','text',$carte_titel,'Titre du menu sur la carte',50,80);
$t.= $this->html->create_input_element('carte_text','text',$carte_text,'Description du menu',50,80);
$t = $this->html->form_around_simple('index.php?action=update_sql&table_name=carte','post',$t,'Mettre à jour');
现在 - 您可以看到上面的代码工作正常。但我必须为$ carte_titel和$ carte_text的索引定义问题制定解决方法。如果我尝试将$ this-> result [0] ['carte_titel']直接包含到html create_input_element中,我收到一个错误,告诉我它有一个未定义的索引。如果我像上面写的那样编写代码,我就不会收到此消息。
我的问题是:数组上两次调用之间索引的区别是什么?它是相同的阵列。我被迫将结果放入第二个变量,以便在我的html元素中使用它?
换句话说: 产生索引错误的代码
$t.= $this->html->create_input_element('carte_titel','text',$this->result[0]['carte_titel'],'Titre du menu sur la carte',50,80);
$t.= $this->html->create_input_element('carte_text','text',$this->result[0]['carte_text'],'Description du menu',50,80);
没有索引错误的代码
$carte_titel = $this->result[0]['carte_titel']; //problem
$carte_text = $this->result[0]['carte_text']; //problem
$t.= $this->html->create_input_element('carte_titel','text',$carte_titel,'Titre du menu sur la carte',50,80);
$t.= $this->html->create_input_element('carte_text','text',$carte_text,'Description du menu',50,80);
感谢所有人的解释!
答案 0 :(得分:0)
经过几次测试之后我才会想到你问你$ t。= $ this-> cat_option($ this-> result [0] ['carte_cat']);也许你有类似$ this-> result = null或一些清理变量的东西......:S
我尝试了很少的东西,每次我得到结果