您的位置:首页 > 编程语言 > PHP开发

除去数组中的空字符元素array_filter()

2011-11-10 18:08 239 查看
 

除去数组中的空字符元素

<?php
$str1_array=array('电影618','','http://www.movie618.com','','1654','');
$str1_array=array_filter($str1_array);
print_r($str1_array);
?>

显示结果:

   Array

(

    [0] => 电影618

    [2] => http://www.movie618.com
    [4] => 1654



array_intersect() 函数返回两个或多个数组的交集数组。

结果数组包含了所有在被比较数组中,也同时出现在所有其他参数数组中的值,键名保留不变。

注释:仅有值用于比较。
array_intersect(array1,array2,array3...)
参数描述
array1必需。与其他数组进行比较的第一个数组。
array2必需。与第一个数组进行比较的数组。
array3可选。与第一个数组进行比较的数组。可以有多个。
<?php
$a1=array(0=>"Cat",1=>"Dog",2=>"Horse");
$a2=array(3=>"Horse",4=>"Dog",5=>"Fish");
print_r(array_intersect($a1,$a2));
?>

输出:

Array ( [1] => Dog [2] => Horse )

 

PHP文字编码的转换mb_convert_encoding() 文字编码的转换mb_convert_encoding()
mb_convert_encoding( $str, $encoding1,$encoding2 )

$str,要转换编码的字符串
$encoding1,目标编码,如utf-8,gbk,大小写均可
$encoding2,原编码,如utf-8,gbk,大小写均可

实例1

<?php   $str='电影618:http://www.movie618.com';echo mb_convert_encoding($str, "UTF-8"); //编码转换为utf-8 ?>  <?php   $str='电影618:http://www.movie618.com';echo mb_convert_encoding($str, "UTF-8", "GBK"); //已知原编码为GBK,转换为utf-8 ?>

<?php   $str='电影618:http://www.movie618.com';echo mb_convert_encoding($str, "UTF-8", "auto"); //未知原编码,通过auto自动检测后,转换编码为utf-8 ?>


 

【php数组函数序列】之array_splice() - 在数组任意位置插入元素 array_splice定义和用法
array_splice() 函数与 array_slice() 函数类似,选择数组中的一系列元素,但不返回,而是删除它们并用其它值代替。

如果提供了第四个参数,则之前选中的那些元素将被第四个参数指定的数组取代。

最后生成的数组将会返回。

语法
array_splice(array,offset,length,array)参数 描述
array 必需。规定数组。
offset 必需。数值。如果 offset 为正,则从输入数组中该值指定的偏移量开始移除。如果 offset 为负,则从输入数组末尾倒数该值指定的偏移量开始移除。
length 可选。数值。如果省略该参数,则移除数组中从 offset 到 结尾的所有部分。如果指定了 length 并且为正值,则移除这么多元素。如果指定了 length 且为负值,则移除从 offset 到数组末尾倒数 length 为止中间所有的元素。
array 被移除的元素由此数组中的元素替代。如果没有移除任何值,则此数组中的元素将插入到指定位置。

提示和注释
提示:如果函数没有删除任何元素 (length=0),则替代数组将从 start 参数的位置插入。(参见例子 3)

注释:不保留替代数组中的键。

例子 1
<?php
$a1=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird");
$a2=array(0=>"Tiger",1=>"Lion");
array_splice($a1,0,2,$a2);
print_r($a1);
?>输出:

Array ( [0] => Tiger [1] => Lion [2] => Horse [3] => Bird )例子 2
与例子 1 相同,但是输出返回的数组:

<?php
$a1=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird");
$a2=array(0=>"Tiger",1=>"Lion");
print_r(array_splice($a1,0,2,$a2));
?>输出:

Array ( [0] => Dog [1] => Cat )例子 3
length 参数设置为 0:

<?php
$a1=array(0=>"Dog",1=>"Cat");
$a2=array(0=>"Tiger",1=>"Lion");
array_splice($a1,1,0,$a2);
print_r($a1);
?>输出:

Array ( [0] => Dog [1] => Tiger [2] => Lion [3] => Cat )


【php数组函数序列】之in_array() - 查找数组中是否存在指定值 in_array()定义和用法
in_array() 函数查找数组中是否存在指定值。

语法
in_array(value,array,type)参数 描述
value 必需。规定要在数组搜索的值。
array 必需。规定要搜索的数组。
type 可选。如果设置该参数为 true,则检查搜索的数据与数组的值的类型是否相同。

说明
如果给定的值 value 存在于数组 array 中则返回 true。如果第三个参数设置为 true,函数只有在元素存在于数组中且数据类型与给定值相同时才返回 true。

如果没有在数组中找到参数,函数返回 false。

注释:如果 value 参数是字符串,且 type 参数设置为 true,则搜索区分大小写。

例子 1
<?php
$people = array("Peter", "Joe", "Glenn", "Cleveland");

if (in_array("Glenn",$people))
{
echo "Match found";
}
else
{
echo "Match not found";
}
?>输出:

Match found例子 2
<?php
$people = array("Peter", "Joe", "Glenn", "Cleveland", 23);

if (in_array("23",$people, TRUE))
{
echo "Match found<br />";
}
else
{
echo "Match not found<br />";
}if (in_array("Glenn",$people, TRUE))
{
echo "Match found<br />";
}
else
{
echo "Match not found<br />";
}if (in_array(23,$people, TRUE))
{
echo "Match found<br />";
}
else
{
echo "Match not found<br />";
}
?>输出:

Match not found
Match found
Match found

 

【php数组函数序列】之ksort()- 对数组的元素键名进行升序排序,保持索引关系 ksort()定义和用法
ksort() 函数按照键名对数组升序排序,为数组值保留原来的键。

可选的第二个参数包含附加的排序标志。

若成功,则返回 TRUE,否则返回 FALSE。

语法
ksort(array,sorttype)参数 描述
array 必需。规定要排序的数组。
sorttype 可选。规定如何排列数组的值。可能的值:

SORT_REGULAR - 默认。以它们原来的类型进行处理(不改变类型)。
SORT_NUMERIC - 把值作为数字来处理
SORT_STRING - 把值作为字符串来处理
SORT_LOCALE_STRING - 把值作为字符串来处理,基于本地设置*。

*:该值是 PHP 4.4.0 和 5.0.2 新加的。在 PHP 6 之前,使用了系统的区域设置,可以用 setlocale() 来改变。自 PHP 6 起,必须用 i18n_loc_set_default() 函数。

例子
<?php
$my_array = array("e" => "Dog", "b" => "Cat", "c" => "Horse");
ksort($my_array);
print_r($my_array);
?>输出:

Array(    [b] => Cat    [c] => Horse    [e] => Sog)

【php数组函数序列】之rsort() - 对数组的元素值进行降序排序 rsort()定义和用法
rsort() 函数对数组的元素按照键值进行逆向排序。与 arsort() 的功能基本相同。

注释:该函数为 array 中的单元赋予新的键名。这将删除原有的键名而不仅是重新排序。

如果成功则返回 TRUE,否则返回 FALSE。

可选的第二个参数包含另外的排序标志。

语法
rsort(array,sorttype)参数 描述
array 必需。输入的数组。
sorttype 可选。规定如何排列数组的值。可能的值:

SORT_REGULAR - 默认。以它们原来的类型进行处理(不改变类型)。
SORT_NUMERIC - 把值作为数字来处理
SORT_STRING - 把值作为字符串来处理
SORT_LOCALE_STRING - 把值作为字符串来处理,基于本地设置*。

*:该值是 PHP 4.4.0 和 5.0.2 新加的。在 PHP 6 之前,使用了系统的区域设置,可以用 setlocale() 来改变。自 PHP 6 起,必须用 i18n_loc_set_default() 函数。

例子
<?php
$my_array = array("a" => "Dog", "b" => "Cat", "c" => "Horse");
rsort($my_array);
print_r($my_array);
?>输出:

Array
(
[0] => Horse
[1] => Dog
[2] => Cat
)

【php数组函数序列】之array_values() - 获取数组元素值 array_values() 定义和用法
array_keys() 函数返回包含数组中所有键名的一个新数组。

如果提供了第二个参数,则只返回键值为该值的键名。

如果 strict 参数指定为 true,则 PHP 会使用全等比较 (===) 来严格检查键值的数据类型。

语法
array_keys(array,value)参数 描述
array 必需。规定输入的数组。
value 可选。指定值的索引(键)。
strict 可选。与 value 参数一起使用。可能的值:

true - 根据类型返回带有指定值的键名。
false - 默认值。不依赖类型。

例子 1
<?php
$a=array("a"=>"Horse","b"=>"Cat","c"=>"Dog");
print_r(array_keys($a));
?>输出:

Array ( [0] => a [1] => b [2] => c )例子 2
使用 value 参数:

<?php
$a=array("a"=>"Horse","b"=>"Cat","c"=>"Dog");
print_r(array_keys($a,"Dog"));
?>输出:

Array ( [0] => c)例子 3
使用 strict 参数 (false):

<?php
$a=array(10,20,30,"10");
print_r(array_keys($a,"10",false));
?>输出:

Array ( [0] => 0 [1] => 3 )例子 4
使用 strict 参数 (true):

<?php
$a=array(10,20,30,"10");
print_r(array_keys($a,"10",true));
?>输出:

Array ( [0] => 3)

【php数组函数序列】之array_keys() - 获取数组键名 array_keys() 定义和用法
array_keys() 函数返回包含数组中所有键名的一个新数组。

如果提供了第二个参数,则只返回键值为该值的键名。

如果 strict 参数指定为 true,则 PHP 会使用全等比较 (===) 来严格检查键值的数据类型。

语法
array_keys(array,value)参数 描述
array 必需。规定输入的数组。
value 可选。指定值的索引(键)。
strict 可选。与 value 参数一起使用。可能的值:

true - 根据类型返回带有指定值的键名。
false - 默认值。不依赖类型。

例子 1
<?php
$a=array("a"=>"Horse","b"=>"Cat","c"=>"Dog");
print_r(array_keys($a));
?>输出:

Array ( [0] => a [1] => b [2] => c )例子 2
使用 value 参数:

<?php
$a=array("a"=>"Horse","b"=>"Cat","c"=>"Dog");
print_r(array_keys($a,"Dog"));
?>输出:

Array ( [0] => c)例子 3
使用 strict 参数 (false):

<?php
$a=array(10,20,30,"10");
print_r(array_keys($a,"10",false));
?>输出:

Array ( [0] => 0 [1] => 3 )例子 4
使用 strict 参数 (true):

<?php
$a=array(10,20,30,"10");
print_r(array_keys($a,"10",true));
?>输出:

Array ( [0] => 3)

【php数组函数序列】之array_unique() - 去除数组中重复的元素值 array_unique() 定义和用法
array_unique() 函数移除数组中的重复的值,并返回结果数组。

当几个数组元素的值相等时,只保留第一个元素,其他的元素被删除。

返回的数组中键名不变。

语法
array_unique(array)参数 描述
array 必需。规定输入的数组。

说明
array_unique() 先将值作为字符串排序,然后对每个值只保留第一个遇到的键名,接着忽略所有后面的键名。这并不意味着在未排序的 array 中同一个值的第一个出现的键名会被保留。

提示和注释
注释:被返回的数组将保持第一个数组元素的键类型。

例子
<?php
$a=array("a"=>"Cat","b"=>"Dog","c"=>"Cat");
print_r(array_unique($a));
?>输出:

Array ( [a] => Cat [b] => Dog )

【php数组函数序列】之array_sum() - 计算数组元素值之和 array_sum()定义和用法
array_sum() 函数返回数组中所有值的总和。

如果所有值都是整数,则返回一个整数值。如果其中有一个或多个值是浮点数,则返回浮点数。

PHP 4.2.1 之前的版本修改了传入的数组本身,将其中的字符串值转换成数值(大多数情况下都转换成了零,根据具体制而定)。

语法
array_sum(array)参数 描述
array 必需。规定输入的数组。

例子1
<?php
$a=array(0=>"5",1=>"15",2=>"25");
echo array_sum($a);
?>输出:

45例子2
<?php
$a=array(0=>5,1=>15,2=>25);
echo array_sum($a);
?>输出:

45例子3
<?php
$a=array(0=>5,1=>15.5,2=>25);
echo array_sum($a);
?>输出:

45.5例子4
<?php
$a=array(0=>5,1=>"15s",2=>25);
echo array_sum($a);
?>输出:

45例子5
<?php
$a=array(0=>5,1=>"s15s",2=>25);
echo array_sum($a);
?>输出:

30

【php数组函数序列】之array_key_exists() - 查找数组键名是否存在 array_key_exists() 定义和用法
array_key_exists() 函数判断某个数组中是否存在指定的 key,如果该 key 存在,则返回 true,否则返回 false。

语法
array_key_exists(key,array)参数 描述
key 必需。规定键名。
array 必需。规定输入的数组。

例子 1
<?php
$a=array("a"=>"Dog","b"=>"Cat");
if (array_key_exists("a",$a))
{
echo "Key exists!";
}
else
{
echo "Key does not exist!";
}
?>输出:

Key exists!例子 2
<?php
$a=array("a"=>"Dog","b"=>"Cat");
if (array_key_exists("c",$a))
{
echo "Key exists!";
}
else
{
echo "Key does not exist!";
}
?>输出:

Key does not exist!例子 2
<?php
$a=array("Dog",Cat");
if (array_key_exists(0,$a))
{
echo "Key exists!";
}
else
{
echo "Key does not exist!";
}
?>输出:

Key exists!

【php数组函数序列】之array_count_values() - 统计数组中所有值出现的次数函数 array_count_values()定义和用法
array_count_values() 函数用于统计数组中所有值出现的次数。

本函数返回一个数组,其元素的键名是原数组的值,键值是该值在原数组中出现的次数。

语法
array_count_values(array)参数 描述
array 必需。规定输入的数组。

例子
<?php
$a=array("Cat","Dog","Horse","Dog");
print_r(array_count_values($a));
?>输出:

Array ( [Cat] => 1 [Dog] => 2 [Horse] => 1 )

【php数组函数序列】之shuffle()和array_rand() - 随机函数 shuffle()定义和用法
shuffle() 函数把数组中的元素按随机顺序重新排列。

若成功,则返回 TRUE,否则返回 FALSE。

注释:本函数为数组中的单元赋予新的键名。这将删除原有的键名而不仅是重新排序。

注释:自 PHP 4.2.0 起,不再需要用 srand() 或 mt_srand() 函数给随机数发生器播种,现已被自动完成。

语法
shuffle(array)参数 描述
array 必需。规定要使用的数组。

例子
<?php
$my_array = array("a" => "Dog", "b" => "Cat", "c" => "Horse");
shuffle($my_array);
print_r($my_array);
?>输出:

Array ( [0] => Cat [1] => Horse [2] => Dog )
array_rand()定义和用法
array_rand() 函数从数组中随机选出一个或多个元素,并返回。

第二个参数用来确定要选出几个元素。如果选出的元素不止一个,则返回包含随机键名的数组,否则返回该元素的键名。

注释:如果指定array_rand()函数抽取的索引个数大于1,那么不管抽取的是数字索引数组还是关联数组,都将取得原数组的key,并放在一个新的索引数组中。

注释:自 PHP 4.2.0 起,不再需要用 srand() 或 mt_srand() 函数给随机数发生器播种,现已被自动完成。

语法
array_rand(array,number)参数 描述
array 必需。规定输入的数组参数。
number 可选。默认是 1。规定返回多少个随机的元素。

例子 1
<?php  $a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse");  print_r(array_rand($a,1));  ?>输出:

b例子 2
带有字符串键的数组:

<?php  $a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse");  print_r(array_rand($a,2));  ?>输出:

Array ( [0] => c [1] => b )

PHP中文处理:中文字符串截取(mb_substr)和获取中文字符串字数 一、中文截取:mb_substr()

mb_substr( $str, $start, $length, $encoding )

$str,需要截断的字符串
$start,截断开始处,起始处为0
$length,要截取的字数
$encoding,网页编码,如utf-8,GB2312,GBK

实例:

<?php$str='电影618:http://www.movie618.com';echo mb_substr($str,0,5,'utf-8');//截取头5个字,假定此代码所在php文件的编码为utf-8?>结果显示:电影618 二、获取中文长度:mb_strlen()

mb_strlen( $str, $encoding )

$str,要计算长度的字符串
$encoding,网页编码,如utf-8,GB2312,GBK

实例:

<?php$str='电影618:http://www.movie618.com';echo mb_strlen($str,'utf-8');//假定此代码所在php文件的编码为utf-8?>结果显示:29
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  filter encoding php string c
相关文章推荐