今天学到了这些东西:
1、ci框架get传参方式,GET传参方式是把要传送的数据在url中显示,并传送过去,实例代码:
$get = $this->input->get('??');
$where = [];
$where['id'] = $get;
$result = $this->db->select('*')->from('add')->where($where)->get()->result_array();
//前端get传值<?php echo site_url() . '/控制器/方法' . $value['要传的参数']; ?>
$value是foreach遍历数组的键值对中的值今天的图片明天到公司补全,在宿舍数据库忘了结构了
2、还学到了ci框架中的where条件语句的两种条件语法,实例代码:
$this->db->select('??')->from('??')->where('?? = ??')->get()->result_array();
$get = $this->input->get/post('??');
$where = [];
$where['??'] = $get;
$this->db->select('??')->from('??')->where($where)->get()->result_array();
3、foreach遍历数组,foreach只能用于遍历数组,有两种语法:
foreach (array as $value) {
循环体
}
foreach (arr as $key => $value) {
循环体
}
实例代码:
$contact = array(1,2,3,4,5);
$num = 0;
foreach ($contact as $value) {
echo $value;
$num ++;
}
上面的代码声明了一个一维数组$contact,数组$contact中的元素重新定义了索引下标
下面是看书和上网搜到的看的东西:
array_column,返回数组中指定的一列,实例代码:
$arr = [
['id' => 12, 'name' => 'paul', 'age' => 23],
['id' => 13, 'name' => 'itbsl', 'age' => 25],
['id' => 14, 'name' => 'jack', 'age' => 26]
];
$result = array_column($arr, 'name');
var_dump($result);
输出:
array(3) {
[0] => string(4) "paul"
[1] => string(5) "itbsl"
[2] => string(4) "jack"
}
array_count_values,统计数组中所有的值在数组中出现的次数,实例代码:
$arr = [1, "hello", 1, "world", "hello"];
$result = array_count_values($arr);
var_dump($result);
输出:
array(3) {
[1] => int(2)
["hello"] => int(2)
["world"] => int(1)
}
命名空间是一种封装事物的方法。
命名空间解决的问题:用户编写的代码与PHP内部的类/函数/常量或第三方类/函数/常量之间的名字冲突,为很长的标识符名称创建一个别名的名称,提高源代码的可读性
定义命名空间:namespace MyProject;
定义子命名空间:namespace MyProject\Sub\Level
array_slice()函数的作用是在数据中根据条件去除一段值并返回,如果数组有字符串键,所返回的数组将保留键名。用这个函数可以和sql语句一样实现分页,原理是将查询出的数组,取出从指定下标开始到指定长度的数组
array_slice(array array,int offset[,int length[,bool preserve_keys]]);
第一个参数是必须项,调用时输入要处理的数组。第二个参数offset也是必须的参数,需要传入一个数值,规定传入元素的开始位置。
array_splice()函数与array_slice()函数类似,选择数组中的一系列元素,但不返回,而是删除他们并用其他值代替。如果函数没有移除任何元素(length=0),则替代数组将从 start 参数的位置插入
array_splice(array &input,int offset[,int length[,array replace]]);
第一个参数是必须项,调用时输入要处理的数组。第二个参数offset也是必须的参数,调用时传入数值,如果offset为正数,则从输入数组中该值指定的偏移量开始移除。
array_combine()函数的作用是通过合并两个数组来创建一个新数组。其中一个数组是键名,另一个数组是键值。
array_combine(array keys,array values);
该函数的两个参数都是必选项,两个参数必须有相同数目的参数,否则返回false。
array_intersect()函数的作用是计算数组的交集。使用array_intersect()函数时要注意:只有在两个元素相等且具有相同的数据类型时,array_intersect()函数才会认为它们是相同的,否则不能进行交集计算。array_intersect()函数返回一个保留了键的数组,只由第一个数组中出现的且在其它数组中都出现的值组成。
array_merge (array1,array2[,aray3])对两个或多个数组进行合并(传递一个数组参数也是可以的)
需要注意的是:如果数组中没有键名,则不管他们的值的交集存不存在重复,最终结果都会以下标为0开始的数组返回,值的顺序依次为array1、array2..。如果数组中设置有键名,且键名存在重复,则该键值为最后一个键名对应的值(覆盖前面)。如果数组是指定数字索引,则结果的键名会以从0开始的数组重新进行索引。如果数组中的键名存在以上的组合情况,则以显式指定键名的优先。总结一点是,他要保证合并后的数组索引不能重复,若没指定键名或指定键名为数字,则结果按从0开始的数字重新进行,若指定了非数字索引,则他会保留之前的索引,但如果存在多个,则只保留最后一个