首页 > 编程技术 > php

php检测数组长度的函数sizeof count

发布时间:2016-11-25 16:49

在php检测数组长度的函数有sizeof  count 下面看个简单实例*/
$colorlist = array("apple"=>"red", "grass"=>"green","sky"=>"blue","night"=>"black","wall"=>"white");

echo "数组长度为: ".count($colorlist); //5

/*
count

count() 函数计算数组中的单元数目或对象中的属性个数。

对于数组,返回其元素的个数,对于其他值,返回 1。如果参数是变量而变量没有定义,则返回 0。如果 mode 被设置为 count_recursive(或 1),则会递归底计算多维数组中的数组的元素个数。

 

sizeof
定义和用法
sizeof() 函数计算数组中的单元数目或对象中的属性个数。

语法
sizeof(array,mode)参数 描述
array 必需。规定要计数的数组或对象。
mode 可选。规定函数的模式。可能的值:

0 - 默认。不检测多维数组(数组中的数组)。
1 - 检测多维数组。
注释:该参数是 php 4.2 中加入的。
 
提示 count sizeof
注释:当变量未被设置,或是变量包含一个空的数组,该函数会返回 0。可使用 isset() 变量来测试变量是否被设置。

代码如下:

$ch = curl_init();
$c_url = 'http://www.111cn.net;
$c_url_data = "product_&type=".$type."";
curl_setopt($ch, curlopt_url,$c_url);
curl_setopt($ch, curlopt_post, 1);
curl_setopt($ch, curlopt_returntransfer, true);
curl_setopt($ch, curlopt_postfields, $c_url_data);
echo $result = curl_exec($ch);
curl_close ($ch);
unset($ch);

在php教程中使用curl
posted 09月 14th, 2008 归属于php
原文(英文)地址: http://www.phpit.net/article/using-curl-php 版权声明:署名-非商业性使用-禁止演绎 2.0
摘要:
在这篇文章中主要讲解php_curl库的知识,并教你如何更好的使用php_curl。
简介
你可能在你的编写php脚本代码中会遇到这样的问题:怎么样才能从其他站点获取内容呢?这里有几个解决方式;最简单的就是在php中使用fopen()函数,但是fopen函数没有足够的参数来使用,比如当你想构建一个“网络爬虫”,想定义爬虫的客户端描述(ie,firefox),通过不同的请求方式来获取内容,比如post,get;等等这些需求是不可能用fopen()函数实现的。
为了解决我们上面提出的问题,我们可以使用php的扩展库-curl,这个扩展库通常是默认在安装包中的,你可以它来获取其他站点的内容,也可以来干别的。
备注:这两段代码需要php_curl扩展库的支持,查看phpinfo(),如果curl support enabled则表示支持curl库。
1、windows下的php开启curl库支持:
打开php.ini,将extension=php_curl.dll前的;号去掉。
2、linux下的php开启curl库支持:
编译php时在./configure后加上 –with-curl
在这篇文章中,我们一起来看看如何使用curl库,并看看它的其他用处,但是接下来,我们要从最基本的用法开始
基本用法:
第一步,我们通过函数curl_init()创建一个新的curl会话,代码如下:
// create a new curl resource
$ch = curl_init();
?>
我们已经成功创建了一个curl会话,如果需要获取一个url的内容,那么接下的一步,传递一个url给curl_setopt()函数,代码:
// set url and other appropriate options
curl_setopt($ch, curlopt_url, “http://www.google.com/”);
?> 

在很多情况下我们的数组会出现重复情况,那我们删除数组中一些重复的内容怎么办,这些元素我必须保持他唯一,所以就想办法来删除它们,下面利用了遍历查询来删除重复数组元素的几种方法。

看一完整删除重复数组实例

 代码如下 复制代码


//删除数组中的一个元素
function array_remove_value(&$arr, $var){
foreach ($arr as $key => $value) {
if (is_array($value)) {
array_remove_value($arr[$key], $var);
} else {
$value = trim($value);
if ($value == $var) {
unset($arr[$key]);
} else {
$arr[$key] = $value;
}
}
}
}


$a是一个数组:
<? $a=array("red", "green", "blue", "yellow");
count($a); //得到4
unset($a[1]); //删除第二个元素
count($a); //得到3
echo $a[2]; //数组中仅有三个元素,本想得到最后一个元素,但却得到blue,
echo $a[1]; //无值
?>
也就是说在删除数组中的元素后,数组中的元素个数(用count()得到)变了,但数组下标却没有重新排列,还必须用删除数组前的key来操作相应的值.
后来我采用另一种方法,其实根本就不叫"方法",是用php4现成的函数array_splice().
<? $a=array("red", "green", "blue", "yellow");
count ($a); //得到4
array_splice($a,1,1); //删除第二个元素
count ($a); //得到3
echo $a[2]; //得到yellow
echo $a[1]; //得到blue
?>


方法二

 代码如下 复制代码
删除数组中重复元素的函数
function delmember(&$array, $id)
{
$size = count($array);
for($i = 0; $i <$size - $id - 1; $i ++)
{
$array[$id + $i] = $array[$id + $i + 1];
}
unset($array[$size - 1]);
}


更多详细内容请查看:http://www.111cn.net/phper/php-function/34794.htm

php string 函数
定义和用法
ord() 函数返回字符串第一个字符的 ascii 值。

语法
ord(string)参数 描述
string 必需。要从中获得 ascii 值的字符串。

echo ord('我');
这里只能返回230, 我是以u8保存的文件并输出的, 它得到的只有230, 而230转换成hex是e6,实际上u8中我的编码是e68891, 这样你就明白了吧, 其实它只拿到了第一个字节

echo chr(0xe6).chr(0x88).chr(0x91);
这里例子可以在u8的情况下输出我这个汉字, 你看到了, 这里用了3次chr才得到这个汉字

 

 代码如下 复制代码

<?php
//a字符
$str=(pack("a*", "中国"));
echo $str,"=",strlen($str),"字节n";
getascill($str);
//h字符
$str=(pack("h*", "fffe"));
echo $str,"=",strlen($str),"字节n";
getascill($str);
//c字符
$str=(pack("c*", "55","56","57"));
echo $str,"=",strlen($str),"字节n";
getascill($str);

//i字符 短整形 32位 4个字节 64位8个字节
$str=(pack("i", "100"));
echo $str,"=",strlen($str),"字节n";
getascill($str);

//s字符 短整形 2个字节
$str=(pack("s", "100"));
echo $str,"=",strlen($str),"字节n";
getascill($str);

//l字符 长整形 4个字节
$str=(pack("l", "100"));
echo $str,"=",strlen($str),"字节n";
getascill($str);

//f字符 单精度浮点 4个字节
$str=(pack("f", "100"));
echo $str,"=",strlen($str),"字节n";
getascill($str);

//d字符 双精度浮点 8个字节
$str=(pack("d", "100"));
echo $str,"=",strlen($str),"字节n";
getascill($str);

function getascill($str)
{
$arr=str_split($str);
foreach ($arr as $v)
{
echo $v,"=",ord($v),"n";
}
echo "=============rnrn";
}

本文章提供三款关于php删除目录几种方法,如果你正在找删除目录或删除目录下所有文件的php代码就进来看看吧。
 代码如下 复制代码
deletedir($dir)
{
if (rmdir($dir)==false && is_dir($dir)) {
    if ($dp = opendir($dir)) {
     while (($file=readdir($dp)) != false) {
      if (is_dir($file) && $file!='.' && $file!='..') {
       deletedir($file);
      } else {
       unlink($file);
      }
     }
     closedir($dp);
    } else {
     exit('www.aimeige.com.cn not permission');
    }
}
}

删除目录利用rmdir来删除吧

 代码如下 复制代码

//比如当前文件所在文件夹下游www.111cn.net/一个文件夹
@$flag = rmdir("www.111cn.net/");
if($flag)
{echo "www.111cn.net删除成功";}
else
{echo "www.111cn.net删除失败";}


下面看一款 php删除文件夹及其文件夹下所有文件

 代码如下 复制代码

function deldir($dir) {
  $dh=opendir($dir);
  while ($file=readdir($dh)) {
    if($file!=”.” && $file!=”..”) {
      $fullpath=$dir.”/”.$file;
      if(!is_dir($fullpath)) {
          unlink($fullpath);//mb.111cn.net
      } else {
          deldir($fullpath);
      }
    }
  }

  closedir($dh);
 
  if(rmdir($dir)) {
    return true;
  } else {
    return false;
  }

标签:[!--infotagslink--]

您可能感兴趣的文章: