本节内容:
php获取数组最后一个值
要求:
对取出的数组要获取数组的最后健或值。
本文为大家分享三种实现方法,有兴趣的朋友可以研究下。
例子:
$array=array(1,2,3,4,5);
echo $array[count($array)-1];//计算数组长度,然后获取数组最后一个元素,如果数组中最后一个元素含有非数字键名,结果可能跟预期不符合
//适用于键名为数字的数组
echo '<br>'; // www.
echo end($array);//将数组的内部指针指向最后一个单元,适用于所有数组
echo '<br>';
rsort($array);//对数组逆向排序,如果数组中含有字母或汉字,结果可能不符合预期,最适用于数字数组
echo $array[0];
?>
说明:
php内置函数end是个不错的方法。
本节内容:
php获取数组第一个值
1,reset (PHP 3, PHP 4, PHP 5)
reset -- 将数组的内部指针指向第一个单元
说明
mixed reset ( array &array )
reset() 将 array 的内部指针倒回到第一个单元并返回第一个数组单元的值,如果数组为空则返回 FALSE。
例1. reset() 的用法
$array = array('step one', 'step two', 'step three', 'step four');
// by default, the pointer is on the first element
echo current($array) . "<br />\n"; // "step one"
// skip two steps
next($array);
next($array);
echo current($array) . "<br />\n"; // "step three"
// reset pointer, start again on step one
reset($array);
echo current($array) . "<br />\n"; // "step one"
?>
2,next(PHP 3, PHP 4, PHP 5)
next -- 将数组中的内部指针向前移动一位
说明
mixed next ( array &array )
返回数组内部指针指向的下一个单元的值,或当没有更多单元时返回 FALSE。
next() 和 current() 的行为类似,只有一点区别,在返回值之前将内部指针向前移动一位。这意味着它返回的是下一个数组单元的值并将数组指针向前移动了一位。如果移动指针的结果是超出了数组单元的末端,则 next() 返回 FALSE。
警告
如果数组包含空的单元,或者单元的值是 0 则本函数碰到这些单元也返回 FALSE。要正确遍历可能含有空单元或者单元值为 0 的数组,参见 each() 函数。
例2 next() 及相关函数的用法
$transport = array('foot', 'bike', 'car', 'plane');
$mode = current($transport); // $mode = 'foot';
$mode = next($transport); // $mode = 'bike';
$mode = next($transport); // $mode = 'car';
$mode = prev($transport); // $mode = 'bike';
// www.
$mode = end($transport); // $mode = 'plane';
?>
3,current(PHP 3, PHP 4, PHP 5)
current -- 返回数组中的当前单元
说明
mixed current ( array &array )
每个数组中都有一个内部的指针指向它“当前的”单元,初始指向插入到数组中的第一个单元。
current() 函数返回当前被内部指针指向的数组单元的值,并不移动指针。如果内部指针指向超出了单元列表的末端,current() 返回 FALSE。
警告
如果数组包含有空的单元(0 或者 "",空字符串)则本函数在碰到这个单元时也返回 FALSE。这使得用 current() 不可能判断是否到了此数组列表的末端。要正确遍历可能含有空单元的数组,用 each() 函数。
例子,current() 及相关函数的用法。
$transport = array('foot', 'bike', 'car', 'plane');
$mode = current($transport); // $mode = 'foot';
$mode = next($transport); // $mode = 'bike';
$mode = current($transport); // $mode = 'bike';
$mode = prev($transport); // $mode = 'foot';
$mode = end($transport); // $mode = 'plane';
$mode = current($transport); // $mode = 'plane';
?>
本节内容:
fsockopen模拟POST提交数据。
例子:
/*
* fsockopen模拟POST方式提交数据
* edit: www.
*/
$URL =‘ http : //xxx.xxx.xxx.xx/xx/xxx/top.php';
$post_data [ ' clientname ' ] = " test08 " ;
$post_data [ ' clientpasswd ' ] = " test08 " ;
$post_data [ ' submit ' ] = " ログイン " ;
$referrer = "" ;
// parsing the given URL
$URL_Info = parse_url ( $URL ) ;
// Building referrer
if ( $referrer == "" ) // if not given use this script as referrer
$referrer = $_SERVER [ " SCRIPT_URI " ] ;
// making string from $data
foreach ( $post_data as $key => $value )
$values [] = " $key = " . urlencode ( $value ) ;
$data_string = implode ( " & " , $values ) ;
// Find out which port is needed - if not given use standard (=80)
if ( ! isset() ( $URL_Info [ " port " ]))
$URL_Info [ " port " ] = 80 ;
// building POST-request:
$request .= " POST " . $URL_Info [ " path " ] . " HTTP/1.1 /n " ;
$request .= " Host: " . $URL_Info [ " host " ] . " /n " ;
$request .= " Referer: $referrer /n " ;
$request .= " Content-type: application/x-www-form-urlencoded /n " ;
$request .= " Content-length: " . strlen ( $data_string ) . " /n " ;
$request .= " Connection: close /n " ;
$request .= " /n " ;
$request .= $data_string . " /n " ;
$fp = fsockopen ( $URL_Info [ " host " ] , $URL_Info [ " port " ]) ;
fputs ( $fp , $request ) ;
while ( ! feof ( $fp )) {
$result .= fgets ( $fp , 128 ) ;
}
fclose($fp);
您可能感兴趣的文章:
php curl模拟post请求的例子
php实现post php curl模拟post传输数据的函数
php curl实现get,post和cookie的实例代码
php curl post的简单示例
php curl中post与get应用实例代码
php获取通过http协议post过来的xml数据
php使用socket、curl、file_get_contents方法POST数据的实例
php实现模拟get和post请求的代码