无需言 做自己 业 ,精于勤 荒于嬉.
- 错误处理 函数 debug_backtrace 产生一条回溯跟踪(backtrace)
-
发表日期:2021-07-01 08:54:56 | 来源: | 分类:错误处理 函数
-
示例1
<?php // filename: /tmp/a.phpfunction a_test($str){ echo "\nHi: $str"; var_dump(debug_backtrace()); } a_test('friend'); ?><?php// filename: /tmp/b.phpinclude_once '/tmp/a.php'; ?>
- 错误处理 函数 restore_exception_handler 恢复之前定义过的异常处理函数。
-
发表日期:2021-07-01 08:54:56 | 来源: | 分类:错误处理 函数
-
示例1
<?php function exception_handler_1(Exception $e) { echo '[' . __FUNCTION__ . '] ' . $e->getMessage(); } function exception_handler_2(Exception $e) { echo '[' . __FUNCTION__ . '] ' . $e->getMessage(); } set_exception_handler('exception_handler_1'); set_exception_handler('exception_handler_2'); restore_exception_handler(); throw new Exception('This triggers the first exception handler...'); ?>
- 错误处理 函数 trigger_error 产生一个用户级别的 error/warning/notice 信息
-
发表日期:2021-07-01 08:54:56 | 来源: | 分类:错误处理 函数
-
示例1
<?php if ($divisor == 0) { trigger_error("Cannot divide by zero", E_USER_ERROR); } ?>
- 错误处理 函数 user_error trigger_error() 的别名
-
发表日期:2021-07-01 08:54:56 | 来源: | 分类:错误处理 函数
-
说明
此函数是该函数的别名: trigger_error().
- 错误处理 函数 set_exception_handler 设置用户自定义的异常处理函数
-
发表日期:2021-07-01 08:54:56 | 来源: | 分类:错误处理 函数
-
示例1
<?php function exception_handler($exception) { echo "Uncaught exception: " , $exception->getMessage(), "\n"; } set_exception_handler('exception_handler'); throw new Exception('Uncaught Exception'); echo "Not Executed\n"; ?>
- 错误处理 函数 set_error_handler 设置用户自定义的错误处理函数
-
发表日期:2021-07-01 08:54:56 | 来源: | 分类:错误处理 函数
-
示例1
<?php // error handler functionfunction myErrorHandler($errno, $errstr, $errfile, $errline){ if (!(error_reporting() & $errno)) { // This error code is not included in error_reporting, so let it fall // through to the standard PHP error handler return false; } // $errstr may need to be escaped: $errstr = htmlspecialchars($errstr); switch ($errno) { case E_USER_ERROR: echo "<b>My ERROR</b> [$errno] $errstr<br />\n"; echo " Fatal error on line $errline in file $errfile"; echo ", PHP " . PHP_VERSION . " (" . PHP_OS . ")<br />\n"; echo "Aborting...<br />\n"; exit(1); case E_USER_WARNING: echo "<b>My WARNING</b> [$errno] $errstr<br />\n"; break; case E_USER_NOTICE: echo "<b>My NOTICE</b> [$errno] $errstr<br />\n"; break; default: echo "Unknown error type: [$errno] $errstr<br />\n"; break; } /* Don't execute PHP internal error handler */ return true; } // function to test the error handlingfunction scale_by_log($vect, $scale){ if (!is_numeric($scale) || $scale <= 0) { trigger_error("log(x) for x <= 0 is undefined, you used: scale = $scale", E_USER_ERROR); } if (!is_array($vect)) { trigger_error("Incorrect input vector, array of values expected", E_USER_WARNING); return null; } $temp = array(); foreach($vect as $pos => $value) { if (!is_numeric($value)) { trigger_error("Value at position $pos is not a number, using 0 (zero)", E_USER_NOTICE); $value = 0; } $temp[$pos] = log($scale) * $value; } return $temp; } // set to the user defined error handler$old_error_handler = set_error_handler("myErrorHandler"); // trigger some errors, first define a mixed array with a non-numeric itemecho "vector a\n"; $a = array(2, 3, "foo", 5.5, 43.3, 21.11); print_r($a); // now generate second arrayecho "----\nvector b - a notice (b = log(PI) * a)\n"; /* Value at position $pos is not a number, using 0 (zero) */ $b = scale_by_log($a, M_PI); print_r($b); // this is trouble, we pass a string instead of an arrayecho "----\nvector c - a warning\n"; /* Incorrect input vector, array of values expected */ $c = scale_by_log("not array", 2.3); var_dump($c); // NULL// this is a critical error, log of zero or negative number is undefinedecho "----\nvector d - fatal error\n"; /* log(x) for x <= 0 is undefined, you used: scale = $scale" */ $d = scale_by_log($a, -2.5); var_dump($d); // Never reached?>
- 错误处理 函数 debug_print_backtrace 打印一条回溯。
-
发表日期:2021-07-01 08:54:55 | 来源: | 分类:错误处理 函数
-
示例1
<?php // include.php filefunction a() { b(); } function b() { c(); } function c(){ debug_print_backtrace(); } a(); ?>
示例2
<?php // 文件 test.php// 这是你应该运行的文件include 'include.php'; ?>
- 错误处理 函数 error_clear_last 清除最近一次错误
-
发表日期:2021-07-01 08:54:55 | 来源: | 分类:错误处理 函数
-
示例1
<?php var_dump(error_get_last()); error_clear_last(); var_dump(error_get_last()); @$a = $b; var_dump(error_get_last()); error_clear_last(); var_dump(error_get_last()); ?>
- 错误处理 函数 error_get_last 获取最后发生的错误
-
发表日期:2021-07-01 08:54:55 | 来源: | 分类:错误处理 函数
-
示例1
<?php echo $a; print_r(error_get_last()); ?>
- JAVA基础 8.File 文件
-
发表日期:2021-06-30 20:01:30 | 来源: | 分类:JAVA基础
-
示例1
import java.io.File; import java.io.IOException; public class FileDemo01 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub File file = new File("d:"+File.separator+"test.txt"); System.out.println(File.separator);// \ System.out.println(File.separatorChar);// \ System.out.println(File.pathSeparator);// ; System.out.println(File.pathSeparatorChar);// ; try { file.createNewFile();//创建文件 } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } if(file.exists()){//判断文件是否存在 //file.delete();//产出文件 } } }
示例2
import java.io.File; public class FileDemo02 { private static int ListModel = 0;//0:列文件夹和文件、1:只列出文件夹、2:只列出文件 public static void main(String[] args) { // TODO Auto-generated method stub ListModel = 1; File file = new File("d:"+File.separator); listFile(file); } private static void listFile(File file) { // TODO Auto-generated method stub if (file!=null) { if (file.isDirectory()) { if (ListModel!=2) { System.out.println(file);//列出文件夹 } File str[] = file.listFiles(); if (str!=null) { for (int i = 0; i < str.length; i++) { listFile(str[i]); } } }else { if (ListModel!=1) { System.out.println(file);//列出文件夹 } } } } }
示例3
package File; import java.io.File; import java.io.IOException; public class FileDemo { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub File file = new File("D:"+File.separator+"test.txt"); if(!file.exists()){ try { System.out.println("文件不存在,创建!"); file.createNewFile(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }else { System.out.println("文件存在,不创建!"); } File dir = new File("D:"+File.separator+"dir"); if(!dir.exists()){ System.out.println("文件夹不存在,创建!"); dir.mkdir(); } if(file.exists()){ file.delete(); System.out.println("删除文件!"); } File disk = new File("D:"+File.separator); String[] lists = disk.list();//只列出名称 for (int i = 0; i < lists.length; i++) { System.out.println(lists[i]); } File[] lists2 = disk.listFiles();//列出完整路径 for (int i = 0; i < lists2.length; i++) { if (isDir(lists2[i].toString())) { System.out.println(lists2[i]+"是目录"); }else { System.out.println(lists2[i]+"不是目录"); } } } public static boolean isDir(String path){ return new File(path).isDirectory(); } }
- JAVA基础 16.Thead 多线程
-
发表日期:2021-06-30 19:58:59 | 来源: | 分类:JAVA基础
-
示例1
class MyThead extends Thread { private int ticket =10; private String name; public MyThead(String name){ this.name = name; } public void run(){ for (int i = 0; i < 10; i++) { if (this.ticket>0) { System.out.println(name+":"+i+" ticket:"+ticket--); } } } } public class TheadDemo01 extends Thread { public static void main(String[] args) { // TODO Auto-generated method stub MyThead m1 = new MyThead("A"); MyThead m2 = new MyThead("B"); /* m1.run(); m2.run(); A:0 A:1 A:2 A:3 A:4 A:5 A:6 A:7 A:8 A:9 B:0 B:1 B:2 B:3 B:4 B:5 B:6 B:7 B:8 B:9 run() 不会实现多线程 */ m1.start(); m2.start(); } }
示例2
class MyThead2 implements Runnable{ private String name; private int ticket =10; public MyThead2(String name){ this.name = name; } public void run(){ for (int i = 0; i < 10; i++) { if (ticket>0) { System.out.println(name+":"+i+" ticket:"+ticket--); } } } public void start() { // TODO Auto-generated method stub } } public class TheadDemo02 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub MyThead2 m1 = new MyThead2("A"); MyThead2 m2 = new MyThead2("B"); Thread t1 = new Thread(m1); Thread t2 = new Thread(m2); t1.start(); t2.start(); System.out.println(t2.getName());//setName() ...设置线程名称 } }
示例3
class MyThead3 implements Runnable{ private int ticket =10; public MyThead3(){ } public void run(){ for (int i = 0; i < 10; i++) { if (this.ticket>0) { System.out.println(i+" "+Thread.currentThread().getName()+" ticket:"+ticket--); } } } } public class TheadDemo03 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub MyThead3 mt = new MyThead3(); new Thread(mt,"A").start(); new Thread(mt,"B").start(); new Thread(mt,"C").start(); } }
示例4
class MyThread4 implements Runnable{ private int ticket = 10; public MyThread4(){ } public void run(){ for (int i = 0; i < 10; i++) { //System.out.println(name+":"+i); if (this.ticket>0) { System.out.println(Thread.currentThread().getName()+":"+i+" ticket:"+ticket--); } } } } public class TheadDemo04 { public static void main(String[] args) { // TODO 自动生成的方法存根 MyThread4 mt1 = new MyThread4(); new Thread(mt1).run(); new Thread(mt1).run(); } }
- JAVA基础 11.FileInputStream和FileOutputStream
-
发表日期:2021-06-30 19:50:39 | 来源: | 分类:JAVA基础
-
示例1
package stream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; public class InputStreamDemo { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { // TODO Auto-generated method stub File file = new File("D:" + File.separator + "123.txt"); FileInputStream inputStream = new FileInputStream(file); /**/ byte[] b = new byte[1024]; int length = inputStream.read(b);//获取文件内容长度 System.out.println(new String(b)); int length2 = (int) file.length();//第二中方法(获取文件大小[字节数]) System.out.println(new String(b, 0, length2)); /* System.out.println(file.length()); byte[] b2 = new byte[(int) file.length()]; int len = 0; int temp = 0; while ((temp=inputStream.read())!=-1) { b2[len] = (byte) temp; len++; } System.out.println(new String(b2,0,len)); */ inputStream.close(); } }
示例2
package stream; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class OutputStreamDemo { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { // TODO Auto-generated method stub File file = new File("D:"+File.separator+"OutputStreamDemo.txt"); FileOutputStream fOutputStream = new FileOutputStream(file,true); String string ="true-追加写入模式"; fOutputStream.write(string.getBytes()); fOutputStream.close(); } }
- JAVA基础 7.Cloneable
-
发表日期:2021-06-30 19:49:04 | 来源: | 分类:JAVA基础
-
示例1
class Person implements Cloneable{ private String name; public Person(String name) { this.name = name; } // TODO Auto-generated constructor stub public void setName(String name){ this.name = name; } public String getName(){ return this.name; } public Object clone() throws CloneNotSupportedException{ return super.clone(); } } public class CloneDemo01 { /** * @param args * @throws CloneNotSupportedException */ public static void main(String[] args) throws CloneNotSupportedException { // TODO Auto-generated method stub Person person1 = new Person("张三"); Person person2 = (Person)person1.clone(); person2.setName("李四"); System.out.println(person1); System.out.println(person2); } }
- JAVA基础 4.Date
-
发表日期:2021-06-30 19:37:09 | 来源: | 分类:JAVA基础
-
示例1
import java.util.Date; public class DateDemo01 extends Date { /** * */ private static final long serialVersionUID = 1L; /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Date date = new Date(); System.out.println(date);//Tue Sep 10 15:43:13 CST 2013 } }
示例2
import java.util.Calendar; import java.util.GregorianCalendar; public class DateDemo02 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Calendar calendar = new GregorianCalendar(); System.out.println("year:"+calendar.get(Calendar.YEAR));//year:2013 System.out.println("month:"+(calendar.get(Calendar.MONTH)+1));//month:9 System.out.println("day:"+calendar.get(Calendar.DAY_OF_MONTH));//day:10 System.out.println("hour:"+calendar.get(Calendar.HOUR_OF_DAY));//hour:15 System.out.println("minute:"+calendar.get(Calendar.MINUTE));//minute:50 System.out.println("second:"+calendar.get(Calendar.SECOND));//second:30 System.out.println("millksecond:"+calendar.get(Calendar.MILLISECOND));//Millisecond:862 } }
示例3
import java.text.DateFormat; import java.text.FieldPosition; import java.text.ParsePosition; import java.util.Date; public abstract class DateDemo03 extends DateFormat { public static void main(String[] args) { // TODO Auto-generated method stub DateFormat dateFormat1 = DateFormat.getDateInstance(); DateFormat dateFormat2 = DateFormat.getDateTimeInstance(); System.out.println("Date:"+dateFormat1.format(new Date()));//Date:2013-9-10 System.out.println("DateTime:"+dateFormat2.format(new Date()));//DateTime:2013-9-10 16:01:54 } }
示例4
import java.text.DateFormat; import java.text.FieldPosition; import java.text.ParsePosition; import java.util.Date; import java.util.Locale; public class DateDemo04 extends DateFormat { /** * */ private static final long serialVersionUID = 1L; @Override public StringBuffer format(Date date, StringBuffer toAppendTo,FieldPosition fieldPosition) { // TODO Auto-generated method stub return null; } @Override public Date parse(String source, ParsePosition pos) { // TODO Auto-generated method stub return null; } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub DateFormat dateFormat1 = DateFormat.getDateInstance(DateFormat.YEAR_FIELD,new Locale("zh","CN")); DateFormat dateFormat2 = DateFormat.getDateTimeInstance(DateFormat.YEAR_FIELD,DateFormat.ERA_FIELD,new Locale("zh","CN")); System.out.println("Date:"+dateFormat1.format(new Date()));//Date:2013年9月10日 System.out.println("DateTime:"+dateFormat2.format(new Date()));//DateTime:2013年9月10日 下午04时05分59秒 CST } }
示例5
//丢了
示例6
import java.text.SimpleDateFormat; import java.util.Date; import com.sun.org.apache.bcel.internal.generic.NEW; public class DateDemo06 extends SimpleDateFormat { /** * */ private static final long serialVersionUID = 1L; /** * @param args */ public static void main(String[] args) { //new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss").format(new Date()) // TODO Auto-generated method stub String strDate = "2013-9-10 16:07:28.345"; String par1 = "yyyy-MM-dd HH:mm:ss.SSS"; String par2 = "yyyy年MM月dd日 HH使mm分ss秒SSS毫秒"; SimpleDateFormat sFormat1 = new SimpleDateFormat(par1); SimpleDateFormat sFormat2 = new SimpleDateFormat(par2); Date date = null; try { date = sFormat1.parse(strDate); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } System.out.println(date); System.out.println(sFormat2); System.out.println(sFormat2.format(date)); System.out.println(sFormat2.format(new Date())); System.out.println(new SimpleDateFormat("yyyy年MM月dd日 HH使mm分ss秒SSS毫秒").format(new Date())); } }
示例7
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class DateDemo07 { public static void main(String[] args) throws ParseException { String date = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss").format(new Date()); //System.out.println(date); String string = "2015年11月02日 01:37:39"; String par_res = "yyyy年MM月dd日 HH:mm:ss"; SimpleDateFormat resFormat = new SimpleDateFormat(par_res); Date resDateTime = resFormat.parse(string); String par_data = "yyyy-MM-dd"; SimpleDateFormat dataFormat = new SimpleDateFormat(par_data); String par_time = "HH:mm"; SimpleDateFormat timeFormat = new SimpleDateFormat(par_time); System.out.println(dataFormat.format(resDateTime)); System.out.println(timeFormat.format(resDateTime)); } }
- PHP杂项 usort-使用用户自定义的比较函数对数组中的值进行排序
-
发表日期:2021-06-29 09:57:29 | 来源: | 分类:PHP杂项
-
示例1
<?php function cmp($a, $b){ if ($a == $b) { return 0; } return ($a < $b) ? -1 : 1; } $a = array(3, 2, 5, 6, 1); usort($a, "cmp"); foreach ($a as $key => $value) { echo "$key: $value\n"; } ?>
示例2
<?php function cmp($a, $b){ return strcmp($a["fruit"], $b["fruit"]); } $fruits[0]["fruit"] = "lemons"; $fruits[1]["fruit"] = "apples"; $fruits[2]["fruit"] = "grapes"; usort($fruits, "cmp"); while (list($key, $value) = each($fruits)) { echo "$fruits[$key]: " . $value["fruit"] . "\n"; } ?>
示例3
<?php class TestObj { var $name; function TestObj($name) { $this->name = $name; } /* This is the static comparing function: */ static function cmp_obj($a, $b) { $al = strtolower($a->name); $bl = strtolower($b->name); if ($al == $bl) { return 0; } return ($al > $bl) ? +1 : -1; } } $a[] = new TestObj("c"); $a[] = new TestObj("b"); $a[] = new TestObj("d"); usort($a, array("TestObj", "cmp_obj")); foreach ($a as $item) { echo $item->name . "\n"; } ?>
示例4
<?php $array[0] = array('key_a' => 'z', 'key_b' => 'c'); $array[1] = array('key_a' => 'x', 'key_b' => 'b'); $array[2] = array('key_a' => 'y', 'key_b' => 'a'); function build_sorter($key) { return function ($a, $b) use ($key) { return strnatcmp($a[$key], $b[$key]); } ; } usort($array, build_sorter('key_b')); foreach ($array as $item) { echo $item['key_a'] . ', ' . $item['key_b'] . "\n"; } ?>
- Javascript基础-李炎恢系列课程 第33章 Ajax
-
发表日期:2021-06-29 09:42:09 | 来源: | 分类:Javascript基础-李炎恢系列课程
-
- Javascript基础-李炎恢系列课程 第32章 JSON
-
发表日期:2021-06-29 09:41:48 | 来源: | 分类:Javascript基础-李炎恢系列课程
-
- Javascript基础-李炎恢系列课程 第31章 XPath
-
发表日期:2021-06-29 09:41:28 | 来源: | 分类:Javascript基础-李炎恢系列课程
-
- Javascript基础-李炎恢系列课程 第30章 XML
-
发表日期:2021-06-29 09:41:12 | 来源: | 分类:Javascript基础-李炎恢系列课程
-
- Javascript基础-李炎恢系列课程 第29章 Cookie与存储
-
发表日期:2021-06-29 09:40:54 | 来源: | 分类:Javascript基础-李炎恢系列课程
-
- 前端开发(1)
- 数据库(0)
- PHP(0)
- PHP杂项(34)
- PHP基础-李炎恢系列课程(20)
- 中文函数手册(0)
- 错误处理 函数(13)
- OPcache 函数(6)
- PHP 选项/信息 函数(54)
- Zip 函数(10)
- Hash 函数(15)
- OpenSSL 函数(63)
- Date/Time 函数(51)
- 目录函数(9)
- Fileinfo 函数(6)
- iconv 函数(11)
- 文件系统函数(81)
- 多字节字符串 函数(57)
- GD 和图像处理 函数(114)
- 可交换图像信息(5)
- Math 函数(50)
- 程序执行函数(11)
- PCNTL 函数(23)
- JSON 函数(4)
- SPL 函数(15)
- URL 函数(10)
- cURL 函数(32)
- 网络 函数(33)
- FTP 函数(36)
- Session 函数(23)
- PCRE 函数(11)
- PCRE 正则语法(19)
- 数组 函数(81)
- 类/对象 函数(18)
- 函数处理 函数(13)
- 变量处理 函数(37)
- SimpleXML 函数(3)
- 杂项 函数(31)
- 字符串 函数(101)
- JAVA(0)
- Android(0)
- Linux(0)
- 其他(0)