首页 > 编程技术 > php

php unset删除数组指定元素方法代码

发布时间:2016-11-25 15:52

删除指定数组下标元素我们利用unset函数来实现,下在看看关于unset语法
void unset ( mixed var [, mixed var [, ...]])

unset() 销毁指定的变量。注意在 php教程 3 中,unset() 将返回 true(实际上是整型值 1

 

$array = array(1=>'1',2=>'2',3=>'3',4=>'5',5=>'6');
print_r( $array );



array
(
    [1] => 1
    [2] => 2
    [3] => 3
    [4] => 5
    [5] => 6
)

unset( $array[2]);
print_r($array);

array
(
    [1] => 1
    [3] => 3
    [4] => 5
    [5] => 6
)


本站原创,转载注明来源http://www.111cn.net 否则必究

目中把错误等级设置为:error_reporting(e_all | e_strict);

数组变量未定义也会报错,其实挺好的,但有时候真的不需要报该错误,php教程的解决办法是:

@$_get['unkown'];

这样就可以放置该错误提示出来了.

exception:

throw new exception("username already taken");

 

更甚的情况,如果你认为客户端并不想用过多的操作而仅仅想看到异常信息,你可以抛出一个unchecked exception:

throw new runtimeexception("username already taken");

 

另外,你可以提供一个方法来验证该username是否被占用。

 

很有必要再重申一下,checked exception应该让客户端从中得到丰富的信息。要想让你的代码更加易读,请倾向于用unchecked excetpion来处理程序中的错误(prefer unchecked exceptions for all programmatic errors)。


4. document exceptions.

你可以通过javadoc’s @throws 标签来说明(document)你的api中要抛出checked exception或者unchecked exception。然而,我更倾向于使用来单元测试来说明(document)异常。不管你采用哪中方式,你要让客户端代码知道你的api中所要抛出的异常。这里有一个用单元测试来测试indexoutofboundsexception的例子:

public void testindexoutofboundsexception() {
    arraylist blanklist = new arraylist();
    try {
        blanklist.get(10);
        fail("should raise an indexoutofboundsexception");
    } catch (indexoutofboundsexception success) {}
}


上边的代码在请求blanklist.get(10)的时候会抛出indexoutofboundsexception,如果没有被抛出,将 fail("should raise an indexoutofboundsexception")显示说明该测试失败。通过书写测试异常的单元测试,你不但可以看到异常是怎样的工作的,而且你可以让你的代码变得越来越健壮。

 

下面作者将介绍界中使用异常的最佳实践(best practices for using exceptions)
1.  总是要做一些清理工作(always clean up after yourself)

如果你使用一些资源例如数据库教程连接或者网络连接,请记住要做一些清理工作(如关闭数据库连接或者网络连接),如果你的api抛出unchecked exception,那么你要用try-finally来做必要的清理工作:

<form action="index.php教程" method="post"  enctype="multipart/form-data">
缩略图:<input type="file" name="files" />
 <input type="submit" value="提交"/>

php处理代码

 

<?php
 $temp_name = $_files[files][tmp_name];            //临时文件3         

$now_name  = $_files[files][name];                    //当前文件4         

move_uploaded_file($temp_name,'./images/'.date('yyyymdhis').$now_name);    //移动到指定的文件夹下面

 ?>

move_uploaded_file() 函数将上传的文件移动到新位置。

若成功,则返回 true,否则返回 false。

语法
move_uploaded_file(file,newloc)参数 描述
file 必需。规定要移动的文件。
newloc 必需。规定文件的新位置。

说明
本函数检查并确保由 file 指定的文件是合法的上传文件(即通过 php 的 http post 上传机制所上传的)。如果文件合法,则将其移动为由 newloc 指定的文件。

如果 file 不是合法的上传文件,不会出现任何操作,move_uploaded_file() 将返回 false。

如果 file 是合法的上传文件,但出于某些原因无法移动,不会出现任何操作,move_uploaded_file() 将返回 false,此外还会发出一条警告。

这种检查显得格外重要,如果上传的文件有可能会造成对用户或本系统的其他用户显示其内容的话。

 

php教程正则指定字符串内容preg_match函数之说明
虽然代码不多,但简单明了
复制代码 代码如下:

preg_match('/^(?!string)/', 'aa') === true

这个用来验证一个字符串是否是非'string'开头的,
在perl或支持perl的正则表达式的语言(如php)中,可以用前看声明来做到这一点,正则表达式是:
复制代码 代码如下:

preg_match('/.*(?!.txt)$/', 'aa')

意思是匹配所有不以.txt结尾的名字


preg_match -- 进行正则表达式匹配
说明
int preg_match ( string pattern, string subject [, array matches [, int flags]])


在 subject 字符串中搜索与 pattern 给出的正则表达式相匹配的内容。

如果提供了 matches,则其会被搜索的结果所填充。$matches[0] 将包含与整个模式匹配的文本,$matches[1] 将包含与第一个捕获的括号中的子模式所匹配的文本,以此类推

php教程 array_unique 处理后json_encode注意事项

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

例如:array_unique(array(1, 1, 2)); ]
他的结果是
array(2) {
[0]=>
int(1)
[2]=>
int(2)
}

array_unique() 函数移除数组中的重复的值,并返回结果数组。

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

返回的数组中键名不变。


这就不是numeric数组了,直接做json_encode,会输出一个json对象,而不是数组
{"0":1,"2":2}

如果这时候页面上js需要的是[1,2]这种数组数据格式,就有可能会产生错误

此时应该在array_unique之后,在做一个array_values
这样:array_values(array_unique(array(1, 1, 2)));

结果就是[1,2]

标签:[!--infotagslink--]

您可能感兴趣的文章: