php新数组怎么获得,php怎么把接受到的数据循环的添加到数组?
遍历数据表,把相应的数据放到数组中即可例如:<
?php//定义一个数组,用于保存读取到的数据$contents = array();$query = mysql_query("select * from table")
;//遍历数据表while($array = mysql_fetch_array($query)){$contents[] = $array;
}print_r($contents)
;//然后循环数组,或者通过键名使用数组foreach($contents as $value){print_r($value);}echo $contents[0]['字段名称'];?>
foreach循环获取第一个和最后一个元素?
引言
对于数组遍历,使用一个 foreach 几乎就完全够用了。那么你一般在编写代码的时候,怎么判断是循环的第一个元素,和最后一个元素呢?
本文通过几个示例,展示实现此功能的多种方法。
学习时间首先,我们使用最直接,最容易想到的办法,使用一个计数器 $i 用于标记当前的索引位置。如果是第一个,则 $i == 0;如果是最后一个,则 $i 等于数组长度减一。代码如下:
$i = 0; $len = count($array); foreach ($array as $item) { if ($i == 0) { // first } else if ($i == $len 1) { // last } $i++; }
上述代码实现简单直接,但是写的优点太长了,而且也不美观。有没有更优雅一些的方式呢?
我们试着从PHP数组操作函数上着手,内置函数中提供了 reset,用于将指针指向数组的第一个元素;end 函数,将指针指向数组的最后一个元素。下面的代码,就是这样实现的:
foreach($array as $key => $element) { reset($array); if ($key === key($array)) echo 'FIRST ELEMENT!'; end($array); if ($key === key($array)) echo 'LAST ELEMENT!'; }
函数 key() 用于获取当前数组指针所指向的索引值。
而 foreach 循环内将元素匹配到 $key => $element 两个变量,$key 存储循环所指向的索引位置。
PHP 的数组操作函数为我们提供了思路,那么当然还可以用 prev 函数,返回前一个元素的值;使用 next 函数,获取下一个元素的值。
这两个函数都是在获取不到元素时返回 false。那么代码就可以这样来写了:
foreach( $items as $item ) { if( !prev( $items ) ) { echo 'First Item'; } if( !next( $items ) ) { echo 'Last Item'; } }
写在最后本文通过三种方式实现了定位 foreach 循环体内,第一个元素和最后一个元素的方法。希望大家熟练使用。
Happy coding :_)
我是 @程序员小助手 ,持续分享编程知识,欢迎关注。
php数组的值最大长度?
PHP 数组的最大长度取决于服务器的配置,但通常可以达到 2^31 1 个元素(最大约为 2GB)。
php中如何判断数组是否为空?
这里介绍一下判断PHP数组为空的5种方法,有需要的朋友可以借鉴参考一下。
1. isset功能:判断变量是否被初始化
说明:它并不会判断变量是否为空,并且可以用来判断数组中元素是否被定义过
注意:当使用isset来判断数组元素是否被初始化过时,它的效率比array_key_exists高4倍左右
2. empty功能:检测变量是否为”空”
说明:任何一个未初始化的变量、值为 0 或 false 或 空字符串”” 或 null的变量、空数组、没有任何属性的对象,都将判断为empty==true
注意1:未初始化的变量也能被empty检测为”空”
注意2:empty只能检测变量,而不能检测语句
3. var == null功能:判断变量是否为”空”
说明:值为 0 或 false 或 空字符串”” 或 null的变量、空数组、都将判断为 null
注意:与empty的显著不同就是:变量未初始化时 var == null 将会报错。
4. is_null功能:检测变量是否为”null”
说明:当变量被赋值为”null”时,检测结果为true
注意1:null不区分大小写:$a = null; $a = NULL 没有任何区别
注意2:仅在变量的值为”null”时,检测结果才为true,0、空字符串、false、空数组都检测为false
注意3:变量未初始化时,程序将会报错
5. var === null功能:检测变量是否为”null”,同时变量的类型也必须是”null”
说明:当变量被赋值为”null”时,同时变量的类型也是”null”时,检测结果为true
注意1:在判断为”null”上,全等于和is_null的作用相同
注意2:变量未初始化时,程序将会报错
PHP中,”NULL” 和 “空” 是2个概念。
isset 主要用来判断变量是否被初始化过
empty 可以将值为 “假”、”空”、”0″、”NULL”、”未初始化” 的变量都判断为TRUE
is_null 仅把值为 “NULL” 的变量判断为TRUE
var == null 把值为 “假”、”空”、”0″、”NULL” 的变量都判断为TRUE
var === null 仅把值为 “NULL” 的变量判断为TRUE
注意:在判断一个变量是否真正为”NULL”时,大多使用 is_null,从而避免”false”、”0″等值的干扰。
c语言如何输入数组?
在c语言中,有两个函数可以让用户从键盘上输入数组数据,它们分别是gets()和scanf()。scanf()是通过格式控制符%s输入数组字符串,除了字符串,还能输入其他类型的数据;gets()是直接输入数组字符串,并且只能输入字符串。
但是,scanf()和gets()是有区别的。
scanf()读取字符串时以空格为分隔,遇到空格就认为当前字符串结束了,所以无法读取含有空格的字符串。
gets()认为空格也是字符串的一部分,只有遇到回车键时才认为字符串输入结束,所以,不管输入了多少个空格,只要不按下回车键,对 gets() 来说就是一个完整的字符串。换句话说,gets() 用来读取一整行字符串。
举个例子:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
int main(){
char str1[30] = {0};
char str2[30] = {0};
char str3[30] = {0};
//gets() 用法
printf("Input a string: ");
gets(str1);
//scanf() 用法
printf("Input a string: ");
scanf("%s", str2);
scanf("%s", str3);
//分别输出
printf("\nstr1: %s\n", str1);
printf("str2: %s\n", str2);
printf("str3: %s\n", str3);
return 0;
}
运行结果:
1
2
3
4
5
Input a string: C C++ Java Python
Input a string: PHP JavaScript
str1: C C++ Java Python
str2: PHP
str3: JavaScript
第一次输入的字符串被 gets() 全部读取,并存入 str1 中。第二次输入的字符串,前半部分被第一个 scanf() 读取并存入 str2 中,后半部分被第二个 scanf() 读取并存入 str3 中。
注意,scanf() 在读取数据时需要的是数据的地址,这一点是恒定不变的,所以对于 int、char、float 等类型的变量都要在前边添加&以获取它们的地址。但是在本段代码中,我们只给出了字符串的名字,却没有在前边添加&,这是为什么呢?因为字符串名字或者数组名字在使用的过程中一般都会转换为地址,所以再添加&就是多此一举,甚至会导致错误了。
就目前学到的知识而言,int、char、float 等类型的变量用于 scanf() 时都要在前面添加&,而数组或者字符串用于 scanf() 时不用添加&,它们本身就会转换为地址。读者一定要谨记这一点。
至于数组名字(字符串名字)和地址的转换细节,以及数组名字什么时候会转换为地址。
以上就是c语言数组怎么输入?的详细