我是靠谱客的博主 舒适帅哥,这篇文章主要介绍PHP一些特殊函数的使用实例详解,现在分享给大家,希望可以做个参考。

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
<?php /* * PHP Array 函数大全 * * array() 创建数组。 array_change_key_case() 返回其键均为大写或小写的数组。 array_chunk() 把一个数组分割为新的数组块。 array_combine() 通过合并两个数组来创建一个新数组。 array_count_values() 用于统计数组中所有值出现的次数。 array_diff() 返回两个数组的差集数组。 array_diff_assoc() 比较键名和键值,并返回两个数组的差集数组。 array_diff_key() 比较键名,并返回两个数组的差集数组。 array_diff_uassoc() 通过用户提供的回调函数做索引检查来计算数组的差集。 array_diff_ukey() 用回调函数对键名比较计算数组的差集。 array_fill() 用给定的值填充数组。 array_filter() 用回调函数过滤数组中的元素。 array_flip() 交换数组中的键和值。 array_intersect() 计算数组的交集。 array_intersect_assoc() 比较键名和键值,并返回两个数组的交集数组。 array_intersect_key() 使用键名比较计算数组的交集。 array_intersect_uassoc() 带索引检查计算数组的交集,用回调函数比较索引。 array_intersect_ukey() 用回调函数比较键名来计算数组的交集。 array_key_exists() 检查给定的键名或索引是否存在于数组中。 array_keys() 返回数组中所有的键名。 array_map() 将回调函数作用到给定数组的单元上。 array_merge() 把一个或多个数组合并为一个数组。 array_merge_recursive() 递归地合并一个或多个数组。 array_multisort() 对多个数组或多维数组进行排序。 array_pad() 用值将数组填补到指定长度。 array_pop() 将数组最后一个单元弹出(出栈)。 array_product() 计算数组中所有值的乘积。 array_push() 将一个或多个单元(元素)压入数组的末尾(入栈)。 array_rand() 从数组中随机选出一个或多个元素,并返回。 array_reduce() 用回调函数迭代地将数组简化为单一的值。 array_reverse() 将原数组中的元素顺序翻转,创建新的数组并返回。 array_search() 在数组中搜索给定的值,如果成功则返回相应的键名。 array_shift() 删除数组中的第一个元素,并返回被删除元素的值。 array_slice() 在数组中根据条件取出一段值,并返回。 array_splice() 把数组中的一部分去掉并用其它值取代。 array_sum() 计算数组中所有值的和。 array_udiff() 用回调函数比较数据来计算数组的差集。 array_udiff_assoc() 带索引检查计算数组的差集,用回调函数比较数据。 array_udiff_uassoc() 带索引检查计算数组的差集,用回调函数比较数据和索引。 array_uintersect() 计算数组的交集,用回调函数比较数据。 array_uintersect_assoc() 带索引检查计算数组的交集,用回调函数比较数据。 array_uintersect_uassoc() 带索引检查计算数组的交集,用回调函数比较数据和索引。 array_unique() 删除数组中重复的值。 array_unshift() 在数组开头插入一个或多个元素。 array_values() 返回数组中所有的值。 array_walk() 对数组中的每个成员应用用户函数。 array_walk_recursive() 对数组中的每个成员递归地应用用户函数。 arsort() 对数组进行逆向排序并保持索引关系。 asort() 对数组进行排序并保持索引关系。 compact() 建立一个数组,包括变量名和它们的值。 count() 计算数组中的元素数目或对象中的属性个数。 current() 返回数组中的当前元素。 each() 返回数组中当前的键/值对并将数组指针向前移动一步。 end() 将数组的内部指针指向最后一个元素。 extract() 从数组中将变量导入到当前的符号表。 in_array() 检查数组中是否存在指定的值。 key() 从关联数组中取得键名。 krsort() 对数组按照键名逆向排序。 ksort() 对数组按照键名排序。 list() 把数组中的值赋给一些变量。 natcasesort() 用“自然排序”算法对数组进行不区分大小写字母的排序。 natsort() 用“自然排序”算法对数组排序。 next() 将数组中的内部指针向前移动一位。 pos() current() 的别名。 prev() 将数组的内部指针倒回一位。 range() 建立一个包含指定范围的元素的数组。 reset() 将数组的内部指针指向第一个元素。 rsort() 对数组逆向排序。 shuffle() 把数组中的元素按随机顺序重新排列。 sizeof() count() 的别名。 sort() 对数组排序。 uasort() 使用用户自定义的比较函数对数组中的值进行排序并保持索引关联。 uksort() 使用用户自定义的比较函数对数组中的键名进行排序。 usort() 使用用户自定义的比较函数对数组中的值进行排序。 */ //$arr = array("a"=>"Dog","b"=>"Cat","c"=>"Horse"); //var_dump(array_change_key_case($arr,CASE_UPPER)); //改变数字数组键的大小写,不是数组的值的大小写 //echo "<br>"; //var_dump(array_change_key_case($arr,CASE_LOWER)); //print_r(array_chunk($arr,1,true));//以分组形式重新组合数据,1表示以1个键值对为一个新数组,2就是2个为一个新数组,ture是保留原有键名,默认false //$a1=array("a","b","c","d"); //$a2=array("Cat","Dog","Horse","Cow"); //print_r(array_combine($a1,$a2)); //a1必需,规定键名,a2必需,规定值 两个参数必须有相同数目的元素 //$a=array("Cat","Dog","Horse","Dog"); //print_r(array_count_values($a)); //函数用于统计数组中所有值出现的次数 //$a1=array(0=>"Cat",1=>"Dog",2=>"Horse"); //$a2=array(3=>"Horse",4=>"Dog",5=>"Fish"); //print_r(array_diff($a1,$a2)); //可以多个数组同事进行比较 都是和第一个数据经行比较 //$a1=array(0=>"Cat",1=>"Dog",2=>"Horse"); //$a2=array(0=>"Rat",1=>"Horse",2=>"Dog"); //$a3=array(0=>"Horse",1=>"Dog",2=>"Cat"); //print_r(array_diff_assoc($a1,$a2,$a3)); //都是和第一个数据经行比较 返回两个数组的差集数组,比较的是键值和键名 //$a=array_fill(2,3,"Dog"); //print_r($a);//array_fill(start(规定键的起始索引),number(规定填充的数量,其值必须大于 0),value(规定要插入的值)) // //function myfunction($v) //{ //if ($v==="Horse") // { // return true; // } //return false; //} //$a=array(0=>"Dog",1=>"Cat",2=>"Horse"); //print_r(array_filter($a,"myfunction")); //可以使用回调函数,过滤数据 //$array = array("a"=>"abc","b"=>"bcd","c"=>"cde","d"=>"def","e"=>""); // $s= array_filter($array); // print_r($s); //$a=array(0=>"Dog",1=>"Cat",2=>"Horse"); //print_r(array_flip($a));//将键值和键名反转,返回数组 //$a1=array(0=>"Cat",1=>"Dog",2=>"Horse"); //$a2=array(3=>"Horse",4=>"Dog",5=>"Fish"); //print_r(array_intersect($a1,$a2)); //和array_diff_assoc()array_diff() 相反,返回两个或多个数组的交集数组 ,比较是键值 array_intersect_assoc()键值和键名 //array_intersect_key()比较键名 //$a=array("a"=>"Dog","b"=>"Cat"); //if (array_key_exists("a",$a)) //判断为a的键名是否存在,无键值的是用默认键名,比如 0 . 1等 // { // echo "Key exists!"; // } //else // { // echo "Key does not exist!"; // } //$a=array("a"=>"Horse","b"=>"Cat","c"=>"Dog"); //print_r(array_keys($a));//返回包含数组中所有键名的一个新数组 可以打印所有,也有使用单独一个键值作为返回 //print_r(array_keys($a,"Dog")); //function myfunction($v) //{ //if ($v==="Dog") // { // return "Fido"; // } //return $v; //} //$a=array("Horse","Dog","Cat"); //print_r(array_map("myfunction",$a)); //返回用户自定义函数作用后的数组 可以使用自定义函数替换一个或者多个键名的键值 //$a1=array("a"=>"Horse","b"=>"Dog"); //$a2=array("c"=>"Cow","b"=>"Cat"); //print_r(array_merge($a1,$a2)); //把两个或多个数组合并为一个数,如果键名有重复,该键的键值为最后一个键名对应的值(后面的覆盖前面的) // //$a=array(3=>"Horse",4=>"Dog"); //print_r(array_merge($a));//键名重置 //$a1=array("a"=>"Horse","b"=>"Dog"); //$a2=array("c"=>"Cow","b"=>"Cat"); //print_r(array_merge_recursive($a1,$a2));//将一个或多个数组的元素的合并起来,一个数组中的值附加在前一个数组的后面。并返回作为结果的数组 //$a1=array("Dog","Dog","Cat"); //$a2=array("Pluto","Fido","Missy"); //array_multisort($a1,SORT_ASC,$a2,SORT_DESC);//将数组,升序或者降序 //print_r($a1); //print_r($a2); //$a=array("Dog","Cat"); //print_r(array_pad($a,5,0));//向一个数组插入带有指定值的指定数量的元素 会根据你指定的长度经行自动补充 // //$a=array("Dog","Cat"); //print_r(array_pad($a,-5,0)); //$a=array("Dog","Cat","Horse"); //array_pop($a);//删除数组中的最后一个元素 //print_r($a); //$a=array(5,5);//计算并返回数组中所有值的乘积 //echo(array_product($a)); //$a=array("a"=>"Dog","b"=>"Cat"); //array_push($a,"Horse","Bird"); //向第一个参数的数组尾部添加一个或多个元素(入栈),然后返回新数组的长度, 向第一个参数的数组尾部添加一个或多个元素(入栈),然后返回新数组的长度, // //print_r($a); //$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse"); //print_r(array_rand($a,2));//从数组中随机选出一个或多个元素,并返回 //function myfunction($v1,$v2) //{ //return $v1 . "-" . $v2; //} //$a=array("Dog","Cat","Horse"); //print_r(array_reduce($a,"myfunction",5));//用回调函数迭代地将数组简化为单一的值 ,第三个参数将作为数组中的第一个值来处理 //$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse"); //print_r(array_reverse($a));//将原数组中的元素顺序翻转,创建新的数组并返回 //$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse"); //echo array_search("Dog",$a);//与 in_array() 一样,在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回 //$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse"); //echo array_shift($a);//删除数组中的第一个元素,并返回被删除元素的值 //print_r ($a); //$a=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird"); //print_r(array_slice($a,1,2));//在数组中根据条件取出一段值,并返回,如果数组有字符串键,所返回的数组将保留键名 //$a=array(0=>"5",1=>"15",2=>"25"); //echo array_sum($a);//返回数组中所有值的总和 //function myfunction($v1,$v2) //{ //if ($v1===$v2) // { // return 0; // } //if ($v1 > $v2) return 1; // { // return -1; // } //return 1; //} //$a1=array("a"=>"Cat","b"=>"Dog","c"=>"Horse"); //$a2=array(1=>"Cat",2=>"Dog",3=>"Fish"); //print_r(array_uintersect($a1,$a2,"myfunction")); //函数计算数组的交集,用回调函数比较数据,该数组包含了所有在 array1 中也同时出现在所有其它参数数组中的值 //$a=array("a"=>"Cat","b"=>"Dog","c"=>"Cat"); //print_r(array_unique($a));//移除数组中的重复的值,并返回结果数组,当几个数组元素的值相等时,只保留第一个元素,其他的元素被删除 //$firstname = "Peter"; //$lastname = "Griffin"; //$age = "38"; // //$result = compact("firstname", "lastname", "age");//创建一个由参数所带变量组成的数组。如果参数中存在数组,该数组中变量的值也会被获取 键名为函数的参数,键值为参数中变量的值 //print_r($result); //$my_array = array("b" => "Dog", "a" => "Cat", "c" => "Horse");//对数组进行排序并保持索引关系。主要用于对那些单元顺序很重要的结合数组进行排序 //asort($my_array); //print_r($my_array); //$my_array = array("a" => "Dog", "b" => "Cat", "c" => "Horse");// 函数对数组进行逆向排序并保持索引关系。主要用于对那些单元顺序很重要的结合数组进行排序 //arsort($my_array); //print_r($my_array); //$a=array("a"=>"Cat","b"=>"Dog","c"=>"Horse"); //print_r(array_values($a));//返回一个包含给定数组中所有键值的数组,但不保留键名 //$a=array("a"=>"Cat","b"=>"Dog"); //array_unshift($a,"Horse");//在数组开头插入一个或多个元素 //print_r($a) //$my_array = array("a" => "Dog", "b" => "Cat", "c" => "Horse"); //sort($my_array);//按升序对给定数组的值排序 //print_r($my_array); //$s = array("a" => "Dog", "b" => "Cat", "c" => "Horse"); //$result = sizeof($s);//计算数组中的单元数目或对象中的属性个数 //echo $result; // //$people = array("Peter", "Joe", "Glenn", "Cleveland"); //$result = sizeof($people);//计算数组中的单元数目或对象中的属性个数 //echo $result; //$my_array = array("a" => "Dog", "b" => "Cat", "c" => "Horse"); //shuffle($my_array);//把数组中的元素按随机顺序重新排列,本函数为数组中的单元赋予新的键名。这将删除原有的键名而不仅是重新排序 //print_r($my_array); //$my_array = array("a" => "Dog", "b" => "Cat", "c" => "Horse"); //rsort($my_array);//对数组的元素按照键值进行逆向排序。与 arsort() 的功能基本相同,该函数为 array 中的单元赋予新的键名。这将删除原有的键名而不仅是重新排序 //print_r($my_array); //$people = array("Peter", "Joe", "Glenn", "Cleveland"); //echo current($people) . "<br />"; //echo next($people) . "<br />"; //echo reset($people);//把数组的内部指针指向第一个元素,并返回这个元素的值 //$number = range(0,50,10);//10是步幅,创建并返回一个包含指定范围的元素的数组 //print_r ($number); //$people = array("Peter", "Joe", "Glenn", "Cleveland"); //echo current($people) . "<br />"; //echo next($people) . "<br />"; //echo prev($people); //把指向当前元素的指针移动到上一个元素的位置,并返回当前元素的值 //$temp_files = array("temp15.txt","temp10.txt", //"temp1.txt","temp22.txt","temp2.txt"); // //sort($temp_files); //echo "Standard sorting: "; //print_r($temp_files); //echo "<br />"; // //natsort($temp_files);//用自然顺序算法对给定数组中的元素排序 //echo "Natural order: "; //print_r($temp_files); //$my_array = array("Dog","Cat","Horse"); //list($a, $b, $c) = $my_array; //echo "I have several animals, a $a, a $b and a $c."; //$my_array = array("a" => "Dog", "b" => "Cat", "c" => "Horse"); //krsort($my_array);//将数组按照键逆向排序,为数组值保留原来的键 //print_r($my_array); //$people = array("Peter", "Joe", "Glenn", "Cleveland");//返回数组内部指针当前指向元素的键名 //next($people); //echo "The key from the current position is: " . key($people); //$people = array("Peter", "Joe", "Glenn", "Cleveland");//数在数组中搜索给定的值 //if (in_array("Glenn",$people)) // { // echo "Match found"; // } //else // { // echo "Match not found"; // } //$people = array("Peter", "Joe", "Glenn", "Cleveland");//将数组内部指针指向最后一个元素,并返回该元素的值(如果成功) //echo current($people) . "<br />"; //echo end($people); //$people = array("Peter", "Joe", "Glenn", "Cleveland");//生成一个由数组当前内部指针所指向的元素的键名和键值组成的数组,并把内部指针向前移动。 //print_r (each($people)); /* * 时间日期函数 * * 只写部分实用函数 * * cal_days_in_month() 针对指定的年份和日历,返回一个月中的天数。 cal_from_jd() 把儒略日计数转换为指定日历的日期。 cal_info() 返回有关给定日历的信息。 cal_to_jd() 把日期转换为儒略日计数。 easter_date() 返回指定年份的复活节午夜的 Unix 时间戳。 easter_days() 返回指定年份的复活节与 月 21 日之间的天数。 FrenchToJD() 将法国共和历法转换成为儒略日计数。 GregorianToJD() 将格利高里历法转换成为儒略日计数。 JDDayOfWeek() 返回日期在周几。 JDMonthName() 返回月的名称。 JDToFrench() 把儒略日计数转换为法国共和国历法。 JDToGregorian() 把儒略日计数转换为格利高里历法。 jdtojewish() 把儒略日计数转换为犹太历法。 JDToJulian() 把儒略日计数转换为儒略历。 jdtounix() 把儒略日计数转换为 Unix 时间戳。 JewishToJD() 把犹太历法转换为儒略日计数。 JulianToJD() 把儒略历转换为儒略日计数。 unixtojd() 把 Unix 时间戳转换为儒略日计数。 * * * * checkdate() 验证格利高里日期。 date_default_timezone_get() 返回默认时区。 date_default_timezone_set() 设置默认时区。 date_sunrise() 返回给定的日期与地点的日出时间。 date_sunset() 返回给定的日期与地点的日落时间。 date() 格式化本地时间/日期。 getdate() 返回日期/时间信息。 gettimeofday() 返回当前时间信息。 gmdate() 格式化 GMT/UTC 日期/时间。 gmmktime() 取得 GMT 日期的 UNIX 时间戳。 gmstrftime() 根据本地区域设置格式化 GMT/UTC 时间/日期。 idate() 将本地时间/日期格式化为整数 localtime() 返回本地时间。 microtime() 返回当前时间的微秒数。 mktime() 返回一个日期的 Unix 时间戳。 strftime() 根据区域设置格式化本地时间/日期。 strptime() 解析由 strftime 生成的日期/时间。 strtotime() 将任何英文文本的日期或时间描述解析为 Unix 时间戳。 time() 返回当前时间的 Unix 时间戳。 * */ //$d=cal_days_in_month(CAL_GREGORIAN,2,2015);//对指定的年份和日历,返回一个月中的天数 //echo("There was $d days in October 2005"); //$jd=cal_to_jd(CAL_GREGORIAN,date("m"),date("d"),date("Y"));//返回当前是星期几 //echo(jddayofweek($jd,1)); //$jd=cal_to_jd(CAL_GREGORIAN,date("m"),date("d"),date("Y"));//返回当前是月份 //echo(jdmonthname($jd,1)); //echo(date_default_timezone_get());//返回脚本中所有日期时间函数所使用的默认时区 //print_r(getdate());//取得日期/时间信息,这个很好用返回的是当前所有的日期时间信息 //echo(idate("H"));//将本地时间/日期格式化为整数 /* d 月份中的第几天 h 小时(12 小时格式) H 小时(24 小时格式) i 分钟 I 如果启用夏时制则返回 1,否则返回 0 L 如果是闰年则返回 1,否则返回 0 m 月份的数字 s 秒数 t 本月的总天数 U 自 Unix 纪元(January 1 1970 00:00:00 GMT)起的秒数――这和 time() 作用相同 w 星期中的第几天(星期天是 0) W ISO-8601 格式年份中的第几个星期,每星期从星期一开始 y 年份(1 或 2 位数字――见下面说明) Y 年份(4 位数字) z 年份中的第几天 Z 以秒为单位的时区偏移量 */ //$localtime = localtime(); //$localtime_assoc = localtime(time(), true); //print_r($localtime); //print_r($localtime_assoc); /* * * Directory 函数 * * chdir() 改变当前的目录。 chroot() 改变当前进程的根目录。 dir() 打开一个目录句柄,并返回一个对象。 closedir() 关闭目录句柄。 getcwd() 返回当前目录。 opendir() 打开目录句柄。 readdir() 返回目录句柄中的条目。 rewinddir() 重置目录句柄。 scandir() 列出指定路径中的文件和目录。 * */ 获得当前目录 //echo getcwd(); //echo "<br />"; // 改变为 images 目录 //chdir("images");//把当前的目录改变为指定的目录 //echo "<br />"; //echo getcwd(); //打开 images 目录 //$dir = dir("upload");//打开一个目录句柄,并返回一个对象。这个对象包含三个方法:read() , rewind() 以及 close() 列出 images 目录中的文件 //while (($file = $dir->read()) !== false) //{ //echo "filename: " . $file . "<br />"; //} //$dir->close(); //$dir = opendir("upload"); //和dir函数意思差不多 //while (($file = readdir($dir)) !== false) // { // echo "filename: " . $file . "<br />"; // } // closedir($dir); //print_r(scandir("upload"));//返回一个数组,其中包含指定路径中的文件和目录 //$dir = opendir("upload"); 列出 images 目录中的文件 //while (($file = readdir($dir)) !== false) // { // echo "filename: " . $file . "<br />"; // } //rewinddir($dir);//重置由 opendir() 打开的目录句柄 //closedir($dir); /* * PHP 杂项函数 * connection_aborted() 检查是否断开客户机。 connection_status() 返回当前的连接状态。 constant() 返回一个常量的值。 define() 定义一个常量。 defined() 检查某常量是否存在。 die() 输出一条消息,并退出当前脚本。 eval() 把字符串按照 PHP 代码来计算。 exit() 输出一条消息,并退出当前脚本。 get_browser() 返回用户浏览器的性能。 highlight_file() 对文件进行语法高亮显示。 highlight_string() 对字符串进行语法高亮显示。 ignore_user_abort() 设置与客户机断开是否会终止脚本的执行。 pack() 把数据装入一个二进制字符串。 php_strip_whitespace() 返回已删除 PHP 注释以及空白字符的源代码文件。 show_source() highlight_file() 的别名。 sleep() 延迟代码执行若干秒。 time_nanosleep() 延迟代码执行若干秒和纳秒。 time_sleep_until() 延迟代码执行指定的时间。 uniqid() 生成唯一的 ID。 unpack() 从二进制字符串对数据进行解包。 usleep() 延迟代码执行若干微秒。 * */ //error_reporting(E_ALL & ~E_NOTICE); //设置错误报告级别 //exit("出现错误"); //die("出现错误"); //define ( "ZX" , "Hello world." ); //echo ZX ; //echo "<br>"; //echo defined("ZX"); //查看ZX定义的常量是不是存在 //echo constant("ZX");//打印ZX //echo connection_aborted();//检查是否断开客户机 //echo connection_status();//返回当前的连接状态 //0 - CONNECTION_NORMAL - 连接运行正常 //1 - CONNECTION_ABORTED - 连接由用户或网络错误终止 //2 - CONNECTION_TIMEOUT - 连接超时 //3 - CONNECTION_ABORTED & CONNECTION_TIMEOUT //namespace MyProject ; //echo __NAMESPACE__; //__NAMESPACE__访问当前命名空间名称 //eval使用 //$zx = "zx"; //echo($zx);//比较不常用必须是string //eval("echo $zx;");//执行语句里面的php语法,必须是php的正常语法 //php定界符 <<< 解析变量{$name} 注意 定界符字符后面一定不要有空格不然会报错 //$str = <<<EOT //Example of string //spanning multiple lines //using heredoc syntax. //EOT; // //echo $str; //$name ="zx"; //$s =<<<Eof //hello{$name} //Eof; //echo $s; //范围解析操作符(::)可以用于访问静态成员,类常量,还可以用于覆盖类中的属性和方法 //class MyClass { // const CONST_VALUE = 'zx' ; //} // //$classname = 'MyClass' ; //echo $classname :: CONST_VALUE ; // 自 PHP 5.3.0 起 //echo "<br>"; //echo MyClass :: CONST_VALUE ; //echo "<br>"; // // //class OtherClass extends MyClass //{ // public static $my_static = 'static var' ; // // public static function doubleColon () { // echo parent :: CONST_VALUE . "n" ; // echo self :: $my_static . "n" ; // } //} // //$classname = 'OtherClass' ; //echo $classname :: doubleColon (); // 自 PHP 5.3.0 起 //echo "<br>"; // //OtherClass :: doubleColon (); // // // //class zClass //{ // protected function myFunc () { // echo "<br>"; // echo "MyClass::myFunc()n" ; // echo "<br>"; // } //} // //class zxClass extends zClass //{ // // 覆盖了父类的定义 // public function myFunc () // { // // 但还是可以调用父类中被覆盖的方法 // parent :: myFunc (); // // echo "OtherClass::myFunc()n" ; // echo "<br>"; // } //} // //$class = new zxClass (); //$class -> myFunc (); //echo $_SERVER['HTTP_USER_AGENT'] . "<br /><br />"; //你的首先在php.ini里面配置browscap.ini ;browscap = extra/browscap.ini 注意这个是你自己browscap.ini的url //$browser = get_browser(null,true); //print_r($browser); //echo "<br>"; //$s =getallheaders(); //print_r($s); //echo "<br>"; //$ss =get_headers("https://www.baidu.com/"); //print_r($ss); //HttpResponse; //echo http_response_code();//返回htpp状态码,正常是200 //echo HttpResponse::getBufferSize() ; //$w = php_strip_whitespace("test.php"); //php_uname(); //PHP_URL_FRAGMENT; //var_dump($w); //echo pack("C*",80,72,80);//把数据装入一个二进制字符串 输出是PHP //$data = "PHP"; //print_r(unpack("C*",$data)); //echo date('h:i:s') . "<br />"; 暂停 10 秒 单位秒 //sleep(10);//usleep()更精细 重新开始 //echo date('h:i:s'); //echo uniqid();//基于以微秒计的当前时间,生成一个唯一的 ID /* * PHP Filesystem 函数 * * * 如果启用安全模式以下函数大多数都会受到影响 * * PHP 会检查被操作的文件或目录是否与被执行的脚本有相同的 UID(所有者) * * * basename() 返回路径中的文件名部分。 chgrp() 改变文件组。 chmod() 改变文件模式。 chown() 改变文件所有者。 clearstatcache() 清除文件状态缓存。 copy() 复制文件。 delete() 参见 unlink() 或 unset()。 dirname() 返回路径中的目录名称部分。 disk_free_space() 返回目录的可用空间。 disk_total_space() 返回一个目录的磁盘总容量。 diskfreespace() disk_free_space() 的别名。 fclose() 关闭打开的文件。 feof() 测试文件指针是否到了文件结束的位置。 fflush() 向打开的文件输出缓冲内容。 fgetc() 从打开的文件中返回字符。 fgetcsv() 从打开的文件中解析一行,校验 CSV 字段。 fgets() 从打开的文件中返回一行。 fgetss() 从打开的文件中读取一行并过滤掉 HTML 和 PHP 标记。 file() 把文件读入一个数组中。 file_exists() 检查文件或目录是否存在。 file_get_contents() 将文件读入字符串。 file_put_contents() 将字符串写入文件。 fileatime() 返回文件的上次访问时间。 filectime() 返回文件的上次改变时间。 filegroup() 返回文件的组 ID。 fileinode() 返回文件的 inode 编号。 filemtime() 返回文件的上次修改时间。 fileowner() 文件的 user ID (所有者)。 fileperms() 返回文件的权限。 filesize() 返回文件大小。 filetype() 返回文件类型。 flock() 锁定或释放文件。 fnmatch() 根据指定的模式来匹配文件名或字符串。 fopen() 打开一个文件或 URL。 fpassthru() 从打开的文件中读数据,直到 EOF,并向输出缓冲写结果。 fputcsv() 将行格式化为 CSV 并写入一个打开的文件中。 fputs() fwrite() 的别名。 fread() 读取打开的文件。 fscanf() 根据指定的格式对输入进行解析。 fseek() 在打开的文件中定位。 fstat() 返回关于一个打开的文件的信息。 ftell() 返回文件指针的读/写位置 ftruncate() 将文件截断到指定的长度。 fwrite() 写入文件。 glob() 返回一个包含匹配指定模式的文件名/目录的数组。 is_dir() 判断指定的文件名是否是一个目录。 is_executable() 判断文件是否可执行。 is_file() 判断指定文件是否为常规的文件。 is_link() 判断指定的文件是否是连接。 is_readable() 判断文件是否可读。 is_uploaded_file() 判断文件是否是通过 HTTP POST 上传的。 is_writable() 判断文件是否可写。 is_writeable() is_writable() 的别名。 link() 创建一个硬连接。 linkinfo() 返回有关一个硬连接的信息。 lstat() 返回关于文件或符号连接的信息。 mkdir() 创建目录。 move_uploaded_file() 将上传的文件移动到新位置。 parse_ini_file() 解析一个配置文件。 pathinfo() 返回关于文件路径的信息。 pclose() 关闭有 popen() 打开的进程。 popen() 打开一个进程。 readfile() 读取一个文件,并输出到输出缓冲。 readlink() 返回符号连接的目标。 realpath() 返回绝对路径名。 rename() 重名名文件或目录。 rewind() 倒回文件指针的位置。 rmdir() 删除空的目录。 set_file_buffer() 设置已打开文件的缓冲大小。 stat() 返回关于文件的信息。 symlink() 创建符号连接。 tempnam() 创建唯一的临时文件。 tmpfile() 建立临时文件。 touch() 设置文件的访问和修改时间。 umask() 改变文件的文件权限。 unlink() 删除文件。 * * * * * * */ header("Content-type:text/html;charset=utf-8"); //$path = "/testweb/home.php"; 显示带有文件扩展名的文件名 //echo basename($path);//返回路径中的文件名部分 显示不带有文件扩展名的文件名 //echo "<br>"; //echo basename($path,".php");//规定文件扩展名。如果文件有 suffix,则不会输出这个扩展名 //$e = chgrp("1.txt","zx");//改变文件所属的组 建议不要使用 所有者可读写,其他人没有任何权限 //chmod("test.txt",0600);//改变文件模式 所有者可读写,其他人可读 //chmod("test.txt",0644); 所有者有所有权限,其他所有人可读和执行 //chmod("test.txt",0755); 所有者有所有权限,所有者所在的组可读 //chmod("test.txt",0740); //chown("test.txt","charles");//改变指定文件的所有者 检查文件大小 //echo filesize("1.txt"); //$file = fopen("1.txt", "a+"); 截取文件 //ftruncate($file,100);//把文件截断到指定的长度 //echo "<br>"; //fclose($file); 清除缓存并再次检查文件大小 //clearstatcache();//清除文件状态缓存 会缓存某些函数的返回信息,以便提供更高的性能。但是有时候,比如在一个脚本中多次检查同一个文件,而该文件在此脚本执行期间有被删除或修改的危险时,你需要清除文件状态缓存,以便获得正确的结果。要做到这一点,就需要使用 //echo filesize("1.txt"); //echo copy("1.txt","2.txt");//拷贝文件 //echo dirname("c:/testweb/home.php");//返回路径中的目录部分 //echo dirname("/testweb/home.php"); //$e = disk_free_space("D:");//windows只能看到一个磁盘的带下,linux可以查看文件夹 //$f = $e/(1024*1024*1024); //echo $f.".GB"; //$e = disk_total_space("D:");//返回指定目录的磁盘总大小 //$f = $e/(1024*1024*1024); //echo $f.".GB"; //$file = fopen("1.txt", "r");//是否已到达文件末尾 输出文本中所有的行,直到文件结束为止。 //while(! feof($file)) // { // echo fgets($file). "<br />";//返回文件一行 // } //fclose($file); //$file = fopen("1.txt","r+"); //fflush($file);//将缓冲内容输出到文件 //$file = fopen("1.txt","r"); //echo fgetc($file);//返回文件一个字符 //fclose($file); // // //$file = fopen("1.txt","r"); //while (! feof ($file)) // { // echo fgetc($file); // } //fclose($file); //$file = fopen("contacts.csv","r"); //while(! feof($file)) // { // print_r(fgetcsv($file));//从文件指针中读入一行并解析 CSV 字段,返回一个包含这些字段的数组 // } //fclose($file); //$file = fopen("test.htm","r"); //echo fgetss($file,1024,"<p>,<b>");//指定p标签,b标签过滤,读取前1024个字节,从打开的文件中读取一行并过滤掉 HTML 和 PHP 标记 //fclose($file); //print_r(file("1.txt"));//把整个文件读入一个数组中 //echo file_exists("1.txt");//检查文件或目录是否存在.不能检查相对路径特别是框架 //echo file_get_contents("1.txt");//把整个文件读入一个字符串中 //echo file_put_contents("test.txt","Hello World. Testing!");//没有文件会自己创建,把一个字符串写入文件中 //echo fileatime("test.txt");//返回指定文件的上次访问时间 //echo "Last access: ".date("F d Y H:i:s.",fileatime("test.txt")); //echo filectime("test.txt");//返回指定文件的上次 inode 修改时间 //echo "Last change: ".date("F d Y H:i:s.",filectime("test.txt")); //echo filegroup("test.txt");//返回指定文件的组 ID //echo fileinode("test.txt");//返回文件的 inode 编号 //echo fileowner("1.txt");//返回文件的所有者ID //$e= fileperms("test.txt");//返回文件或目录的权限 //var_dump($e); //echo filesize("test.txt");//返回指定文件的大小 //echo filetype("test.txt");//指定文件或目录的类型 /* 文件或目录的类型 fifo char dir block link file unknown */ //$file = fopen("test.txt","w+"); echo $file; //if (flock($file,LOCK_EX)) //代码有问题 // { // fwrite($file,"Write something"); // // release lock // flock($file,LOCK_UN); // } //else // { // echo "Error locking file!"; // } //fclose($file); // 代码有问题 //$fp = fopen ( "2.txt" , "r+" ); // //if ( flock ( $fp , LOCK_EX )) { // 进行排它型锁定 // ftruncate ( $fp , 0 ); // truncate file // fwrite ( $fp , "Write something heren" ); // fflush ( $fp ); // flush output before releasing the lock // flock ( $fp , LOCK_UN ); // 释放锁定 //} else { // echo "Couldn't get the lock!" ; //} // //fclose ( $fp ); /* 要取得共享锁定(读取的程序),将 lock 设为 LOCK_SH(PHP 4.0.1 以前的版本设置为 1)。 要取得独占锁定(写入的程序),将 lock 设为 LOCK_EX(PHP 4.0.1 以前的版本中设置为 2)。 要释放锁定(无论共享或独占),将 lock 设为 LOCK_UN(PHP 4.0.1 以前的版本中设置为 3)。 如果不希望 flock() 在锁定时堵塞,则给 lock 加上 LOCK_NB(PHP 4.0.1 以前的版本中设置为 4)。 */ //$txt = "My car is darkgrey..."; //if ($t=fnmatch("*",$txt)) // { // echo $t; // } //$file = fopen("1.txt","rwb"); //$file1 = fopen("http://www.baidu.com/","rb"); // allow_url_fopen 是否开启 // //var_dump($file1); //echo '<br>'; //var_dump($file); //$file = fopen("http://www.baidu.com","r"); //fpassthru($file);//输出文件指针处的所有剩余数据 //var_dump($file);//可以替换301 //$file = fopen("1.txt","rw"); 读取第一行 //fgets($file); 把文件的其余部分发送到输出缓存 //echo fpassthru($file);//输出文件指针处的所有剩余数据 //fclose($file); //$file = fopen("test.txt","w"); //echo fputs($file,"Hello World. Testing!"); //fclose($file); 读取整个文件 //$file = fopen("test.txt","r"); //echo fread($file,filesize("test.txt"));//读取文件(可安全用于二进制文件) //fclose($file); //$file = fopen("test.txt","r"); //print_r(fstat($file));//返回关于打开文件的信息。 //fclose($file); /* * 0 dev 设备名 1 ino 号码 2 mode inode 保护模式 3 nlink 被连接数目 4 uid 所有者的用户 id 5 gid 所有者的组 id 6 rdev 设备类型,如果是 inode 设备的话 7 size 文件大小的字节数 8 atime 上次访问时间(Unix 时间戳) 9 mtime 上次修改时间(Unix 时间戳) 10 ctime 上次改变时间(Unix 时间戳) 11 blksize 文件系统 IO 的块大小 12 blocks 所占据块的数目 * */ //$file = fopen("test.txt","r"); 输出当前位置 //echo ftell($file);//在打开文件中的当前位置 改变当前位置 //fseek($file,"15"); 再次输出当前位置 //echo ftell($file);//在打开文件中的当前位置 //fclose($file); //echo filesize("test.txt"); //echo "<br />"; //$file = fopen("test.txt", "a+"); //ftruncate($file,100);//把文件截断到指定的长度 //fclose($file); 清空缓存,再次检查文件大小 //clearstatcache(); //echo filesize("test.txt"); //print_r(glob("*.*"));//返回匹配指定模式的文件名或目录 /* * GLOB_MARK - 在每个返回的项目中加一个斜线 GLOB_NOSORT - 按照文件在目录中出现的原始顺序返回(不排序) GLOB_NOCHECK - 如果没有文件匹配则返回用于搜索的模式 GLOB_NOESCAPE - 反斜线不转义元字符 GLOB_BRACE - 扩充 {a,b,c} 来匹配 'a','b' 或 'c' GLOB_ONLYDIR - 仅返回与模式匹配的目录项 GLOB_ERR - 停止并读取错误信息(比如说不可读的目录),默认的情况下忽略所有错误 * */ //$file = "setup.exe"; //if(is_executable($file))//检查指定的文件是否可执行。这个是很cms判断文件是否可以上传的函数 // { // echo ("$file is executable"); // } //else // { // echo ("$file is not executable"); // } //$file = "test.txt"; //if(is_readable($file))//判断指定文件名是否可读 // { // echo ("$file is readable"); // } //else // { // echo ("$file is not readable"); // } //$file = "test.txt"; //if(is_uploaded_file($file)) //是否通过http上传的 // { // echo ("$file is uploaded via HTTP POST"); // } //else // { // echo ("$file is not uploaded via HTTP POST"); // } // $file = "test.txt"; //if(is_writable($file))//是否可写 // { // echo ("$file is writeable"); // } //else // { // echo ("$file is not writeable"); // } //$target = '1.txt' ; //$link = '2.txt' ; //$r = link ( $target , $link );//建立一个硬连接,此函数不能作用于远程文件,该功能在 Windows 平台下开始有效(Vista、 Server 2008 或更高版本) //var_dump($r); //echo linkinfo ( '/vmlinuz' ); //是否确实存在,该功能在 Windows 平台下开始有效(Vista、 Server 2008 或更高版本) //print_r(lstat("test.txt"));//返回关于文件或符号连接的信息 //mkdir("testing",0777);//创建目录 //$uploads_dir = '/uploads' ; //foreach ( $_FILES [ "pictures" ][ "error" ] as $key => $error ) { // if ( $error == UPLOAD_ERR_OK ) { // $tmp_name = $_FILES [ "pictures" ][ "tmp_name" ][ $key ]; // $name = $_FILES [ "pictures" ][ "name" ][ $key ]; // move_uploaded_file ( $tmp_name , " $uploads_dir / $name " );//上传文件 // } //} // $_FILES作为接受传输过来的数据 //test.ini //[names] //me = Robert //you = Peter // //[urls] //first = "http://www.example.com" //second = "http://www.w3school.com.cn" //print_r(parse_ini_file("test.ini",true));//解析一个配置文件,并以数组的形式返回其中的设置,ture则返回一个多维数组,包括了配置文件中每一节的名称和设置 //print_r(pathinfo("test.txt"));//以数组的形式返回文件路径的信息 //$file = popen("test.txt","r");//打开进程文件指针 //pclose($file);//关闭由 popen() 打开的管道 //$file = fopen("test.txt","r"); 改变文件指针的位置 //fseek($file,"15"); 把文件指针设定为 0 //rewind($file);//将文件指针的位置倒回文件的开头 //fclose($file); //$path = "testing"; //if(!rmdir($path))//删除空的目录 // { // echo ("Could not remove $path"); // } //echo touch("test.txt");//设置指定文件的访问和修改时间 //echo sys_get_temp_dir();//返回系统默认临时文件夹 //$temp_file = tempnam ( sys_get_temp_dir (), 'Tux' );//tempnam以读写(w+)模式建立一个具有唯一文件名的临时文件,返回一个文件句柄 //echo $temp_file ; //$temp = tmpfile(); //fwrite($temp, "Testing, testing."); 倒回文件的开头 //rewind($temp); 从文件中读取 1k //echo fread($temp,1024); 删除文件 //fclose($temp); /* * PHP String 函数 * * * addcslashes() 在指定的字符前添加反斜杠。 addslashes() 在指定的预定义字符前添加反斜杠。 bin2hex() 把 ASCII 字符的字符串转换为十六进制值。 chop() rtrim() 的别名。 chr() 从指定的 ASCII 值返回字符。 chunk_split() 把字符串分割为一连串更小的部分。 convert_cyr_string() 把字符由一种 Cyrillic 字符转换成另一种。 convert_uudecode() 对 uuencode 编码的字符串进行解码。 convert_uuencode() 使用 uuencode 算法对字符串进行编码。 count_chars() 返回字符串所用字符的信息。 crc2() 计算一个字符串的 2-bit CRC。 crypt() 单向的字符串加密法 (hashing)。 echo() 输出字符串。 explode() 把字符串打散为数组。 fprintf() 把格式化的字符串写到指定的输出流。 get_html_translation_table() 返回翻译表。 hebrev() 把希伯来文本从右至左的流转换为左至右的流。 hebrevc() 同上,同时把(n) 转为 <br />。 html_entity_decode() 把 HTML 实体转换为字符。 htmlentities() 把字符转换为 HTML 实体。 htmlspecialchars_decode() 把一些预定义的 HTML 实体转换为字符。 htmlspecialchars() 把一些预定义的字符转换为 HTML 实体。 implode() 把数组元素组合为一个字符串。 join() implode() 的别名。 levenshtein() 返回两个字符串之间的 Levenshtein 距离。 localeconv() 返回包含本地数字及货币信息格式的数组。 ltrim() 从字符串左侧删除空格或其他预定义字符。 md() 计算字符串的 MD 散列。 md_file() 计算文件的 MD 散列。 metaphone() 计算字符串的 metaphone 键。 money_format() 把字符串格式化为货币字符串。 nl_langinfo() 返回指定的本地信息。 nl2br() 在字符串中的每个新行之前插入 HTML 换行符。 number_format() 通过千位分组来格式化数字。 ord() 返回字符串第一个字符的 ASCII 值。 parse_str() 把查询字符串解析到变量中。 print() 输出一个或多个字符串。 printf() 输出格式化的字符串。 quoted_printable_decode() 解码 quoted-printable 字符串。 quotemeta() 在字符串中某些预定义的字符前添加反斜杠。 rtrim() 从字符串的末端开始删除空白字符或其他预定义字符。 setlocale() 设置地区信息(地域信息)。 sha1() 计算字符串的 SHA-1 散列。 sha1_file() 计算文件的 SHA-1 散列。 similar_text() 计算两个字符串的匹配字符的数目。 soundex() 计算字符串的 soundex 键。 sprintf() 把格式化的字符串写写入一个变量中。 sscanf() 根据指定的格式解析来自一个字符串的输入。 str_ireplace() 替换字符串中的一些字符。(对大小写不敏感) str_pad() 把字符串填充为新的长度。 str_repeat() 把字符串重复指定的次数。 str_replace() 替换字符串中的一些字符。(对大小写敏感) str_rot1() 对字符串执行 ROT1 编码。 str_shuffle() 随机地打乱字符串中的所有字符。 str_split() 把字符串分割到数组中。 str_word_count() 计算字符串中的单词数。 strcasecmp() 比较两个字符串。(对大小写不敏感) strchr() 搜索字符串在另一字符串中的第一次出现。strstr() 的别名 strcmp() 比较两个字符串。(对大小写敏感) strcoll() 比较两个字符串(根据本地设置)。 strcspn() 返回在找到任何指定的字符之前,在字符串查找的字符数。 strip_tags() 剥去 HTML、XML 以及 PHP 的标签。 stripcslashes() 删除由 addcslashes() 函数添加的反斜杠。 stripslashes() 删除由 addslashes() 函数添加的反斜杠。 stripos() 返回字符串在另一字符串中第一次出现的位置(大小写不敏感) stristr() 查找字符串在另一字符串中第一次出现的位置(大小写不敏感) strlen() 返回字符串的长度。 strnatcasecmp() 使用一种“自然”算法来比较两个字符串(对大小写不敏感) strnatcmp() 使用一种“自然”算法来比较两个字符串(对大小写敏感) strncasecmp() 前 n 个字符的字符串比较(对大小写不敏感)。 strncmp() 前 n 个字符的字符串比较(对大小写敏感)。 strpbrk() 在字符串中搜索指定字符中的任意一个。 strpos() 返回字符串在另一字符串中首次出现的位置(对大小写敏感) strrchr() 查找字符串在另一个字符串中最后一次出现的位置。 strrev() 反转字符串。 strripos() 查找字符串在另一字符串中最后出现的位置(对大小写不敏感) strrpos() 查找字符串在另一字符串中最后出现的位置(对大小写敏感) strspn() 返回在字符串中包含的特定字符的数目。 strstr() 搜索字符串在另一字符串中的首次出现(对大小写敏感) strtok() 把字符串分割为更小的字符串。 strtolower() 把字符串转换为小写。 strtoupper() 把字符串转换为大写。 strtr() 转换字符串中特定的字符。 substr() 返回字符串的一部分。 substr_compare() 从指定的开始长度比较两个字符串。 substr_count() 计算子串在字符串中出现的次数。 substr_replace() 把字符串的一部分替换为另一个字符串。 trim() 从字符串的两端删除空白字符和其他预定义字符。 ucfirst() 把字符串中的首字符转换为大写。 ucwords() 把字符串中每个单词的首字符转换为大写。 vfprintf() 把格式化的字符串写到指定的输出流。 vprintf() 输出格式化的字符串。 vsprintf() 把格式化字符串写入变量中。 wordwrap() 按照指定长度对字符串进行折行处理。 * * * */ //$str = "Hello, my name is John Adams."; //echo $str; //echo addcslashes($str,'A..Z');//在指定的字符前添加反斜杠 //echo addcslashes($str,'a..z');//向字符串中的一个范围内的字符添加反斜杠 //echo addcslashes($str,'a..h'); //$str = "Who's John Adams?"; //echo addslashes($str) ;//在指定的预定义字符前添加反斜杠 单引号 (')双引号 (")反斜杠 ()NULL //$str = "Hello world!"; //echo bin2hex($str);//把 ASCII 字符的字符串转换为十六进制值 //echo pack("H*",bin2hex($str));//pack H* 解码 //$str = "Hello World!nn"; //echo $str; //echo chop($str);//该函数的 rtrim() 函数的别名,从字符串的末端开始删除空白字符或其他预定义字符 //echo chr(52);//从指定的 ASCII 值返回字符 //echo chr(052);//ascii 参数可以是十进制、八进制或十六进制。通过前置 0 来规定八进制,通过前置 0x 来规定十六进制 //echo chr(0x52); //$str = "Hello world!"; //echo chunk_split($str,1,".");//把字符串分割为一连串更小的部分 //$some = "that is big shit" ; //echo $r = convert_uuencode ($some); //uuencode 算法加密 //echo "</br>"; //echo "</br>"; //echo "</br>"; //echo convert_uudecode($r); //$str = "Hello World!"; //print_r(count_chars($str,1)); //if ( CRYPT_STD_DES == 1 ) { // echo 'Standard DES: ' . crypt ( 'rasmuslerdorf' , 'rl' ) . "n" ; // echo "</br>"; //} // //if ( CRYPT_EXT_DES == 1 ) { // echo 'Extended DES: ' . crypt ( 'rasmuslerdorf' , '_J9..rasm' ) . "n" ; // echo "</br>"; //} // //if ( CRYPT_MD5 == 1 ) { // echo 'MD5: ' . crypt ( 'rasmuslerdorf' , '$1$rasmusle$' ) . "n" ; // echo "</br>"; //} // //if ( CRYPT_BLOWFISH == 1 ) { // echo 'Blowfish: ' . crypt ( 'rasmuslerdorf' , '$2a$07$usesomesillystringforsalt$' ) . "n" ; // echo "</br>"; //} // //if ( CRYPT_SHA256 == 1 ) { // echo 'SHA-256: ' . crypt ( 'rasmuslerdorf' , '$5$rounds=5000$usesomesillystringforsalt$' ) . "n" ; // echo "</br>"; //} // //if ( CRYPT_SHA512 == 1 ) { // echo 'SHA-512: ' . crypt ( 'rasmuslerdorf' , '$6$rounds=5000$usesomesillystringforsalt$' ) . "n" ; // echo "</br>"; //} //$password = 'mypassword' ; 获取散列值,使用自动盐值 //$hash = crypt ( $password ); //echo $hash; /* * crypt() 返回一个基于标准 UNIX DES 算法或系统上其他可用的替代算法的散列字符串。 有些系统支持不止一种散列类型。实际上,有时候,基于 MD5 的算法被用来替代基于标准 DES 的算法。这种散列类型由盐值参数触发。在 5.3 之前,PHP 在安装时根据系统的 crypt() 决定可用的算法。如果没有提供盐值,PHP 将自动生成一个 2 个字符(DES)或者 12 个字符(MD5)的盐值 ,这取决于 MD5 crypt() 的可用性。PHP 设置了一个名为 CRYPT_SALT_LENGTH 的常量,用来表示可用散列允许的最长可用盐值。 基于标准 DES 算法的 crypt() 在输出内容的开始位置返回两个字符的盐值。它也只使用 str 的开始 8 个字符,所以更长的以相同 8 个字符开始的字符串也将生成相同的结果(当使用了相同的盐值时)。 在 crypt() 函数支持多重散列的系统上,下面的常量根据相应的类型是否可用被设置为 0 或 1: 1.CRYPT_STD_DES - 基于标准 DES 算法的散列使用 "./0-9A-Za-z" 字符中的两个字符作为盐值。在盐值中使用非法的字符将导致 crypt() 失败。 2.CRYPT_EXT_DES - 扩展的基于 DES 算法的散列。其盐值为 9 个字符的字符串,由 1 个下划线后面跟着 4 字节循环次数和 4 字节盐值组成。它们被编码成可打印字符,每个字符 6 位,有效位最少的优先。0 到 63 被编码为 "./0-9A-Za-z"。在盐值中使用非法的字符将导致 crypt() 失败。 3.CRYPT_MD5 - MD5 散列使用一个以 $1$ 开始的 12 字符的字符串盐值。 4.CRYPT_BLOWFISH - Blowfish 算法使用如下盐值:“$2a$”,一个两位 cost 参数,“$” 以及 64 位由 “./0-9A-Za-z” 中的字符组合而成的字符串。在盐值中使用此范围之外的字符将导致 crypt() 返回一个空字符串。两位 cost 参数是循环次数以 2 为底的对数,它的范围是 04-31,超出这个范围将导致 crypt() 失败。 5.CRYPT_SHA256 - SHA-256 算法使用一个以 $5$ 开头的 16 字符字符串盐值进行散列。如果盐值字符串以 “rounds=<N>$” 开头,N 的数字值将被用来指定散列循环的执行次数,这点很像 Blowfish 算法的 cost 参数。默认的循环次数是 5000,最小是 1000,最大是 999,999,999。超出这个范围的 N 将会被转换为最接近的值。 6.CRYPT_SHA512 - SHA-512 算法使用一个以 $6$ 开头的 16 字符字符串盐值进行散列。如果盐值字符串以 “rounds=<N>$” 开头,N 的数字值将被用来指定散列循环的执行次数,这点很像 Blowfish 算法的 cost 参数。默认的循环次数是 5000,最小是 1000,最大是 999,999,999。超出这个范围的 N 将会被转换为最接近的值。 Note: 从 PHP 5.3.0 起,PHP 包含了它自己的实现,并将在系统缺乏相应算法支持的时候使用它自己的实现。 * */ //$str = "Hello world. It's a beautiful day."; //print_r (explode(" ",$str));//把字符串分割为数组,空格是这个分割符 //print_r (get_html_translation_table()); //echo "<br />"; //print_r (get_html_translation_table(HTML_ENTITIES));//HTML_ENTITIES - 翻译所有需要 URL 编码的字符,以便正确地显示在网页上。HTML_SPECIALCHARS - 翻译某些需要 URL 编码的字符,以便正确地显示在网页上。 //$str = "John & 'Adams'"; //echo htmlentities($str, ENT_COMPAT);//把字符转换为 HTML 实体 //echo "<br />"; //echo htmlentities($str, ENT_QUOTES); //echo "<br />"; //echo htmlentities($str, ENT_NOQUOTES); // // // //htmlspecialchars_decode() 是htmlspecialchars的反转函数 //$str = "John & 'Adams'"; //echo htmlspecialchars($str, ENT_COMPAT);//把一些预定义的字符转换为 HTML 实体 //echo "<br />"; //echo htmlspecialchars($str, ENT_QUOTES); //echo "<br />"; //echo htmlspecialchars($str, ENT_NOQUOTES); //html_entity_decode() 是 htmlentities() 的反函数。 //$str = "John & 'Adams'"; //echo html_entity_decode($str); //echo "<br />"; //echo html_entity_decode($str, ENT_QUOTES); //echo "<br />"; //echo html_entity_decode($str, ENT_NOQUOTES); //$arr = array('Hello','World!','Beautiful','Day!'); //echo implode("#",$arr);//把数组元素组合为一个字符串 //$arr = array('Hello','World!','Beautiful','Day!'); //echo join("#",$arr);//把数组元素组合为一个字符串 //setlocale(LC_ALL, 'US'); //$locale_info = localeconv(); //print_r($locale_info); //rtrim()删除字符串末端的空白字符(或者其他字符) ltrim()删除字符串前端的空白字符(或者其他字符) //trim()去除字符左右空格 //$filename = "test.txt"; //$md5file = md5_file($filename);//文件md5验证码,计算文件的 MD5 散列 //echo $md5file; //$number = 1234.56; //setlocale(LC_MONETARY, "en_US");//设置地区信息(地域信息)。地区信息是针对一个地理区域的语言、货币、时间以及其他信息 //echo money_format("The price is %i", $number);//把字符串格式化为货币字符串 //echo nl_langinfo(); //echo "<br />"; //echo number_format("1000000"); //echo "<br />"; //echo number_format("1000000",2); //echo "<br />"; //echo number_format("1000000",2,",","."); //echo "<br />"; //echo number_format("1000000",2,".",","); //parse_str("id=23&name=John%20Adams",$myArray); //print_r($myArray); // //parse_str("id=23&name=John%20Adams"); //echo $id."<br />"; //echo $name; //$str = "Hello world. (can you hear me?)"; //echo quotemeta($str);//在字符串中某些预定义的字符前添加反斜杠 //$str = 'Hello'; //echo sha1($str);//计算字符串的 SHA-1 散列 //$filename = "test.txt"; //$sha1file = sha1_file($filename);//计算文件的 SHA-1 散列 //echo $sha1file; //similar_text("Hello World","Hello Peter",$percent);//计算两个字符串的匹配字符的数目 //echo $percent; //$number = 123; //$txt = sprintf("%f",$number); //echo $txt; //echo str_ireplace("world","John","Hello world!");//使用一个字符串替换字符串中的另一些字符 // //$arr = array("blue","red","green","yellow"); //print_r(str_ireplace("red","pink",$arr,$i)); //echo "Replacements: $i"; //$str = "Hello World"; //echo str_pad($str,20,".",STR_PAD_LEFT);//把字符串填充为指定的长度 //$e =5; //echo str_repeat(".",$e); //echo str_replace("world","John","Hello world!"); //对大小写敏感,使用一个字符串替换字符串中的另一些字符 //echo str_shuffle("Hello World");//随机地打乱字符串中的所有字符 //print_r(str_split("Hello",3));//把字符串分割到数组中,以3个字节的长度 //print_r(str_word_count("Hello world & good morning!",1)); //print_r(str_word_count("Hello world & good morning!",1,"&"));//计算字符串中的单词数 //echo strchr("Hello world!","world");//搜索一个字符串在另一个字符串中的第一次出现 //echo strcspn("Hello world!","w");//返回在找到任何指定的字符之前,在字符串查找的字符数 //echo strip_tags("Hello <b><i>world!</i></b>","<b>");//剥去 HTML、XML 以及 PHP 的标签 后面的<b>是允许的字符 //stripcslashes() 函数删除由 addcslashes() 函数添加的反斜杠。 //echo strlen("Hello world!");//返回字符串的长度 //echo strpbrk("Hello world!","oe");//在字符串中搜索指定字符中的任意一个,该函数返回指定字符第一次出现的位置开始的剩余部分。如果没有找到 //echo strrev("Hello World!");//反转字符串 //$string = "Hello world. Beautiful day today."; //$token = strtok($string, " ");//把字符串分割为更小的字符串 //print_r($token); //echo strtolower("Hello WORLD!");//把字符串转换为小写 //echo strtoupper("Hello WORLD!");//把字符串转换为大写 //echo strtr("Hilla Warld","ia","eo");//转换字符串中特定的字符 //echo substr("Hello world!",6,5);//返回字符串的一部分 /* string 必需。规定要返回其中一部分的字符串。 start 必需。规定在字符串的何处开始。 正数 - 在字符串的指定位置开始 负数 - 在从字符串结尾的指定位置开始 0 - 在字符串中的第一个字符处开始 length 可选。规定要返回的字符串长度。默认是直到字符串的结尾。 正数 - 从 start 参数所在的位置返回 负数 - 从字符串末端返回 */ //echo substr_count("Hello world. The world is nice","world");//计算子串在字符串中出现的次数 //echo ucfirst("hello world");//把字符串中的首字符转换为大写 //$str = "An example on a long word is: Supercalifragulistic"; //echo wordwrap($str,15);//按照指定长度对字符串进行折行处理

 

最后

以上就是舒适帅哥最近收集整理的关于PHP一些特殊函数的使用实例详解的全部内容,更多相关PHP一些特殊函数内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(97)

评论列表共有 0 条评论

立即
投稿
返回
顶部