<!DOCTYPEhtml>
<html>
<head>
<meta charset="UTF-8"/>
<title>BasicDemo</title>
<link rel="stylesheet"href="vendor/bootstrap/css/bootstrap.min.css"/>判断数组中元素是否为空的时候,一般用foreach,因为具体应用中多是要foreach,其实如果单纯的过滤php空数组的话,可以使用php函数array_filter().
arrayarray_filter ( array [, callback callback])
array_filter() 依次将 array 数组中的每个值传递到callback 函数。如果 callback 函数返回 TRUE,则 array数组的当前值会被包含在返回的结果数组中。数组的键名保留不变。
如果没有提供callback 函数,array_filter() 将删除 array 中所有等值为 FALSE的条目.这也就是过滤数组空白元素的精华所在.
如下例:
Php代码
<?php
$entry =array(
0 =>'k686绿色软件',
1 => false,
2 => 1,
3 => null,
4 => '',
5 =>'http://www.k686.com',
6 =>'0'
);
print_r(array_filter($entry));
?>
<?php$entry = array( 0=> 'k686绿色软件', 1 => false, 2=> 1, 3 => null, 4 =>'', 5 => 'http://www.k686.com', 6=>'0');print_r(array_filter($entry));?>
上面代码输出结果为:
Array
(
[0] => k686绿色软件
[2] => 1
[5] =>http://www.k686.com
)
可以看出,false,null,和真正的''空白以及0都被过滤了,而且数组的下标没有改变.
这样就引申出来一个新问题,如果我想对array_filter()处理过的新数组的键名序列化成0,1,2,3这样的怎么办呢?这在数组比较中是很有用的,那么需要用到php的sort()函数.
boolsort ( array &array [, int sort_flags])
本函数对数组进行排序。当本函数结束时数组单元将被从最低到最高重新安排。
注意: 本函数为array 中的单元赋予新的键名。这将删除原有的键名而不仅是重新排序。
如果成功则返回TRUE,失败则返回 FALSE。
也可以使用array_values将数组中所有的值并给其建立数字索引的。
arrayarray_values ( array input )
array_values() 返回 input数组中所有的值并给其建立数字索引。
例子 1.array_values() 例子
<?php
$array =array ("size" => "XL", "color" =>"gold");
print_r(array_values($array));
?>
上例将输出:
Array
(
[0] => XL
[1] => gold
)
Php代码
<?php
$my_array = array("0" =>"k686绿色软件", "2" => "1", "5" =>"http://www.k686.com");
sort($my_array);
print_r($my_array);
?>
<?php$my_array =array("0" => "k686绿色软件", "2" => "1","5" =>"http://www.k686.com");sort($my_array);print_r($my_array);?>
输出结果为:
Php代码
Array
(
[0] => 1
[1] => http://www.k686.com
[2] => k686绿色软件
)
Array([0] => 1 [1] => http://www.k686.com[2] => k686绿色软件)
有序化以后就可以进行大小比较了,这在纯数字且需要比较大小的数字中是十分有效的.判断数组中元素是否为空的时候,一般用foreach,因为具体应用中多是要foreach,其实如果单纯的过滤php空数组的话,可以使用php函数array_filter().
arrayarray_filter ( array [, callback callback])
array_filter() 依次将 array 数组中的每个值传递到callback 函数。如果 callback 函数返回 TRUE,则 array数组的当前值会被包含在返回的结果数组中。数组的键名保留不变。
如果没有提供callback 函数,array_filter() 将删除 array 中所有等值为 FALSE的条目.这也就是过滤数组空白元素的精华所在.
如下例:
Php代码
<?php
$entry =array(
0 =>'k686绿色软件',
1 => false,
2 => 1,
3 => null,
4 => '',
5 =>'http://www.k686.com',
6 =>'0'
);
print_r(array_filter($entry));
?>
<?php$entry = array( 0=> 'k686绿色软件', 1 => false, 2=> 1, 3 => null, 4 =>'', 5 => 'http://www.k686.com', 6=>'0');print_r(array_filter($entry));?>
上面代码输出结果为:
Array
(
[0] => k686绿色软件
[2] => 1
[5] =>http://www.k686.com
)
可以看出,false,null,和真正的''空白以及0都被过滤了,而且数组的下标没有改变.
这样就引申出来一个新问题,如果我想对array_filter()处理过的新数组的键名序列化成0,1,2,3这样的怎么办呢?这在数组比较中是很有用的,那么需要用到php的sort()函数.
boolsort ( array &array [, int sort_flags])
本函数对数组进行排序。当本函数结束时数组单元将被从最低到最高重新安排。
注意: 本函数为array 中的单元赋予新的键名。这将删除原有的键名而不仅是重新排序。
如果成功则返回TRUE,失败则返回 FALSE。
也可以使用array_values将数组中所有的值并给其建立数字索引的。
arrayarray_values ( array input )
array_values() 返回 input数组中所有的值并给其建立数字索引。
例子 1.array_values() 例子
<?php
$array =array ("size" => "XL", "color" =>"gold");
print_r(array_values($array));
?>
上例将输出:
Array
(
[0] => XL
[1] => gold
)
Php代码
<?php
$my_array = array("0" =>"k686绿色软件", "2" => "1", "5" =>"http://www.k686.com");
sort($my_array);
print_r($my_array);
?>
<?php$my_array =array("0" => "k686绿色软件", "2" => "1","5" =>"http://www.k686.com");sort($my_array);print_r($my_array);?>
输出结果为:
Php代码
Array
(
[0] => 1
[1] => http://www.k686.com
[2] => k686绿色软件
)
Array([0] => 1 [1] => http://www.k686.com[2] => k686绿色软件)
有序化以后就可以进行大小比较了,这在纯数字且需要比较大小的数字中是十分有效的.判断数组中元素是否为空的时候,一般用foreach,因为具体应用中多是要foreach,其实如果单纯的过滤php空数组的话,可以使用php函数array_filter().
arrayarray_filter ( array [, callback callback])
array_filter() 依次将 array 数组中的每个值传递到callback 函数。如果 callback 函数返回 TRUE,则 array数组的当前值会被包含在返回的结果数组中。数组的键名保留不变。
如果没有提供callback 函数,array_filter() 将删除 array 中所有等值为 FALSE的条目.这也就是过滤数组空白元素的精华所在.
如下例:
Php代码
<?php
$entry =array(
0 =>'k686绿色软件',
1 => false,
2 => 1,
3 => null,
4 => '',
5 =>'http://www.k686.com',
6 =>'0'
);
print_r(array_filter($entry));
?>
<?php$entry = array( 0=> 'k686绿色软件', 1 => false, 2=> 1, 3 => null, 4 =>'', 5 => 'http://www.k686.com', 6=>'0');print_r(array_filter($entry));?>
上面代码输出结果为:
Array
(
[0] => k686绿色软件
[2] => 1
[5] =>http://www.k686.com
)
可以看出,false,null,和真正的''空白以及0都被过滤了,而且数组的下标没有改变.
这样就引申出来一个新问题,如果我想对array_filter()处理过的新数组的键名序列化成0,1,2,3这样的怎么办呢?这在数组比较中是很有用的,那么需要用到php的sort()函数.
boolsort ( array &array [, int sort_flags])
本函数对数组进行排序。当本函数结束时数组单元将被从最低到最高重新安排。
注意: 本函数为array 中的单元赋予新的键名。这将删除原有的键名而不仅是重新排序。
如果成功则返回TRUE,失败则返回 FALSE。
也可以使用array_values将数组中所有的值并给其建立数字索引的。
arrayarray_values ( array input )
array_values() 返回 input数组中所有的值并给其建立数字索引。
例子 1.array_values() 例子
<?php
$array =array ("size" => "XL", "color" =>"gold");
print_r(array_values($array));
?>
上例将输出:
Array
(
[0] => XL
[1] => gold
)
Php代码
<?php
$my_array = array("0" =>"k686绿色软件", "2" => "1", "5" =>"http://www.k686.com");
sort($my_array);
print_r($my_array);
?>
<?php$my_array =array("0" => "k686绿色软件", "2" => "1","5" =>"http://www.k686.com");sort($my_array);print_r($my_array);?>
输出结果为:
Php代码
Array
(
[0] => 1
[1] => http://www.k686.com
[2] => k686绿色软件
)
Array([0] => 1 [1] => http://www.k686.com[2] => k686绿色软件)
有序化以后就可以进行大小比较了,这在纯数字且需要比较大小的数字中是十分有效的.
</head>
<body>
<headerclass="container">
<h1>BasicDemo</h1>
</header>
<divclass="container">
<div class="control-groupinput-append">
<input type="text"name="name" id="name" form="form" data-required/>
<label for="name"class="add-on"><spanclass="icon-asterisk"></span>Name</label>
</div>
<formid="form">
<div class="control-groupinput-append">
<input type="text"name="nickname" id="nickname" data-required="true"/>
<label for="nickname"class="add-on"><spanclass="icon-asterisk"></span>Nickname</label>
</div>
<div class="control-groupinput-append">
<input type="text"name="site" id="site" />
<label for="site"class="add-on">Site</label>
</div>
<div class="control-groupinput-append">
<input type="text"name="age" id="age" data-required data-pattern="^[0-9]+$"/>
<label for="age"class="add-on"><spanclass="icon-asterisk"></span>Age</label>
</div>
<divclass="btn-group">
<button type="submit"class="btnbtn-primary">Send</button>
<button type="reset"class="btn">Reset</button>
</div>
</form>
</div>
<scriptsrc="vendor/jquery-1.9.0.min.js"></script>
<scriptsrc="../jquery-validate.js"></script>
<script>
$('form').validate({
onKeyup: true,
eachValidField : function(){
$(this).closest('div').removeClass('error').addClass('success');
},
eachInvalidField : function(){
$(this).closest('div').removeClass('success').addClass('error');
}
版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_29572055/article/details/51909305
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。