php网页调用动态库,动态网页技术PHP的数组处理函数库

参考 each() array()

next

将数组的内部指针向后移动。

语法: mixed next(array array);

返回值: 混合类型资料

函数种类: 资料处理

内容说明 这个函数返回数组下个元素的内部指针,若没有下个元素,则返回 false 值。当然,若是一个空的数组,它也返回 false 值。要正确地处理可能是空的数组,可以使用 each() 函数。此函数看起来像 current() 函数,不同地方在于本函数使指针往后指到下一个元素,并返回新的指针处的元素值,意即指针后移,并返回下一个元素值。

参考 current() end() prev() reset()

pos

返回数组目前的元素。

语法: mixed pos(array array);

返回值: 混合类型资料

函数种类: 资料处理

内容说明

此函数其实就是 current() 函数。

参考

end() next() prev() reset()

数组处理函数库

prev

将数组的内部指针往前移动。

语法: mixed prev(array array);

返回值: 混合类型资料

函数种类: 资料处理

内容说明 这个函数返回数组前一个元素的内部指针,若没有前一个元素,则返回 false 值。当然,若是一个空的数组,它也返回 false 值。要正确地处理可能是空的数组,可以使用 each() 函数。此函数有点像 next() 函数,只是 prev() 函数是将指针往前移,而 next() 函数是将指针往后移。

参考 current() end() next() reset()

range

建立一个整数范围的数组。

语法: array range(int low, int high);

返回值: 数组

函数种类: 资料处理

内容说明 此函数建立一个由小到大的连续整数数组。在 shuffle() 函数有使用范例

参考 shuffle()

reset

将数组的指针指到数组第一个元素。

语法: mixed reset(array array);

返回值: 混合类型资料

函数种类: 资料处理

内容说明 本函数将数组的指针重设,将指针改指到数组的第一个元素。返回值的内容也是数组的第一个元素。

使用范例

技巧:kk@shonline.de指出 (30-jul-1998),当数组的资料不够稳定时,使用 reset() 会有警告信息。最常发生的时候是处理 html 表单(form)的输入资料时,若用户输入的资料不够充份,或用户故意增删输入 (input) 字段,就有可能会有警告信息。用 @reset() 的方式可使警告信息不出现 (在 reset() 前加 @),不过这只是掩耳盗铃的方式;要斧底抽薪的方法是使用 if (isset()) 的方式 (参见 4.48.14 isset() 函数),如下例

以下为引用的内容:

if (isset($form_array)) {

reset($form_array);

while (list($k, $v) = each($form_array)) {

do_something($k, $v);

}

}

?>

参考 current() each() next() prev()

rsort

将数组的值由大到小排序。

语法: void rsort(array array);

返回值: 无

函数种类: 资料处理

内容说明

本函数将数组依由大到小的方式重排。

使用范例

以下为引用的内容:

$fruits = array("lemon","orange","banana","apple");

rsort($fruits);

for(reset($fruits); list($key,$value) = each($fruits); ) {

echo "fruits[$key] = ".$value."\n";

}

?>

处理后的结果为

fruits[0] = orange

fruits[1] = lemon

fruits[2] = banana

fruits[3] = apple

参考 arsort() asort() ksort() sort() usort()

shuffle

将数组的顺序弄混。

语法: void shuffle(array array);

返回值: 无

函数种类: 资料处理

内容说明 本函数将数组以随机的方式使全部元素重新乱排。

使用范例

以下为引用的内容:

$numbers = range(1,20);

srand(time());

shuffle($numbers);

while (list(,$number) = each($numbers)) {

echo "$number ";

}

?>

注意:ccunning@math.ohio-state.edu指出 (31-may-1999),在 solaris 上由于受了 libc 函数库的影响,会使本函数出现问题。目前解决的方式如下面的例子。(注: 或许之后新的 php 版本会修正这个问题。)

以下为引用的内容:

function myshuffle($array) {

mt_srand((double) microtime()*1000000);

$num = count($array);

for ($i=0; $i

$n = mt_rand($i+1,$num);

$temp = $array[$n];

$array[$n] = $array[$i];

$array[$i] = $temp;

}

}

$array = array(1,2,3,4,5,6,7,8,9,10);

myshuffle(&$array);

while (list(,$var)=each($array)) {

echo $var . " ";

}

?>

参考 arsort() asort() ksort() rsort() sort() usort()

sizeof

获知数组的大小。

语法: int sizeof(array array);

返回值: 整数

函数种类: 资料处理

内容说明

本函数以整数类型返回数组的元素个数。

参考 count()

sort

将数组排序。

语法: void sort(array array);

返回值: 无

函数种类: 资料处理

内容说明 本函数将数组依由小到大的方式重排。

使用范例

以下为引用的内容:

$fruits = array("lemon","orange","banana","apple");

sort($fruits);

for(reset($fruits); list($key,$value) = each($fruits); ) {

echo "fruits[$key] = ".$value."\n";

}

?>

返回的结果为

fruits[0] = apple

fruits[1] = banana

fruits[2] = lemon

fruits[3] = orange

参考 arsort() asort() ksort() rsort() usort()

uasort

将数组依用户自定的函数排序。

语法: void uasort(array array, function cmp_function);

返回值: 无

函数种类: 资料处理

内容说明 本函数将数组依用户自定的方式重排,当然元素的索引和值仍然保持对应的关系。当您觉得需要自行设计排序的方式时,可以先自订处理函数,再使用本函数将数组值排序。

参考 arsort() asort() ksort() rsort() sort() uksort()

uksort

将数组的索引依用户自定的函数排序。

语法: void uksort(array array, function cmp_function);

返回值: 无

函数种类: 资料处理

内容说明 本函数将数组的索引依用户自定的方式重排,cmp_function 即用户自行开发的函数。

使用范例

以下为引用的内容:

function mycompare($a, $b) {

if ($a == $b) return 0;

return ($a > $b) ? -1 : 1;

}

$a = array(4 => "four", 3 => "three", 20 => "twenty", 10 => "ten");

uksort($a, mycompare);

while(list($key, $value) = each($a)) {

echo "$key: $value\n";

}

?>

上面的程序返回资料为

20: twenty

10: ten

4: four

3: three

参考 arsort() asort() ksort() rsort() sort() uasort()

usort

将数组的值依用户自定的函数排序。

语法: void usort(array array, function cmp_function);

返回值: 无

函数种类: 资料处理

内容说明

本函数将数组的值依用户自定的方式重排。若程序中需要使用特殊的排序方式,则可以使用这个函数。

使用范例

以下为引用的内容:

function cmp($a,$b) {

if ($a == $b) return 0;

return ($a > $b) ? -1 : 1;

}

$a = array(3,2,5,6,1);

usort($a, cmp);

while(list($key,$value) = each($a)) {

echo "$key: $value\n";

}

?>

此例的返回值为

0: 6

1: 5

2: 3

3: 2

4: 1

参考 arsort() asort() ksort() rsort() sort()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目标检测(Object Detection)是计算机视觉领域的一个核心问题,其主要任务是找出图像中所有感兴趣的目标(物体),并确定它们的类别和位置。以下是对目标检测的详细阐述: 一、基本概念 目标检测的任务是解决“在哪里?是什么?”的问题,即定位出图像中目标的位置并识别出目标的类别。由于各类物体具有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具挑战性的任务之一。 二、核心问题 目标检测涉及以下几个核心问题: 分类问题:判断图像中的目标属于哪个类别。 定位问题:确定目标在图像中的具体位置。 大小问题:目标可能具有不同的大小。 形状问题:目标可能具有不同的形状。 三、算法分类 基于深度学习的目标检测算法主要分为两大类: Two-stage算法:先进行区域生成(Region Proposal),生成有可能包含待检物体的预选框(Region Proposal),再通过卷积神经网络进行样本分类。常见的Two-stage算法包括R-CNN、Fast R-CNN、Faster R-CNN等。 One-stage算法:不用生成区域提议,直接在网络中提取特征来预测物体分类和位置。常见的One-stage算法包括YOLO系列(YOLOv1、YOLOv2、YOLOv3、YOLOv4、YOLOv5等)、SSD和RetinaNet等。 四、算法原理 以YOLO系列为例,YOLO将目标检测视为回归问题,将输入图像一次性划分为多个区域,直接在输出层预测边界框和类别概率。YOLO采用卷积网络来提取特征,使用全连接层来得到预测值。其网络结构通常包含多个卷积层和全连接层,通过卷积层提取图像特征,通过全连接层输出预测结果。 五、应用领域 目标检测技术已经广泛应用于各个领域,为人们的生活带来了极大的便利。以下是一些主要的应用领域: 安全监控:在商场、银行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值