// 设定你编码格式
header(“Content-Type: text/html; charset=utf-8”);
//打印一个三角形
echo ‘—一.打印出一个三角形–
’;
for(
i
=
0
;
i = 0;
i=0;i <= 6;KaTeX parse error: Expected '}', got 'EOF' at end of input: i++){ for(j = 0;
j
<
=
6
;
j <= 6;
j<=6;j++){
echo ’ ‘;
}
for(
k
=
0
;
k = 0;
k=0;k <= 2*
i
;
i;
i;k++){
echo “*”;
}
echo ‘
’;
}
//杨辉三角
echo “—二.杨辉三角------
”;
for(
i
=
0
;
i=0;
i=0;i<6;$i++){
//第一个和最后一个都为1
a
[
a[
a[i][0] = 1;
a
[
a[
a[i][KaTeX parse error: Expected 'EOF', got '}' at position 10: i] = 1; }̲ for(i=2;
i
<
6
;
i<6;
i<6;i++){
for(
j
=
1
;
j=1;
j=1;j<
i
;
i;
i;j++){
a
[
a[
a[i][$j] =
a
[
a[
a[i-1][
i
−
1
]
+
i-1]+
i−1]+a[
i
−
1
]
[
i-1][
i−1][j];
}
}
for(
i
=
0
;
i=0;
i=0;i<6;KaTeX parse error: Expected '}', got 'EOF' at end of input: i++){ for(j=0;
j
<
=
j<=
j<=i;$j++){
echo
a
[
a[
a[i][$j].’ ';
}
echo ‘
’;
}
//合并多个数组
echo “------三.合并多个数组------
”;
function t(){
$c = func_num_args()-1;// 返回传递给函数的参数个数
a
=
f
u
n
c
g
e
t
a
r
g
s
(
)
;
/
/
返
回
一
个
数
组
,
包
括
函
数
的
参
数
列
表
f
o
r
(
a = func_get_args();// 返回一个数组,包括函数的参数列表 for(
a=funcgetargs();//返回一个数组,包括函数的参数列表for(i=0;
i
<
=
i<=
i<=c;KaTeX parse error: Expected '}', got 'EOF' at end of input: … if(is_array(a[KaTeX parse error: Expected '}', got 'EOF' at end of input: i])){ for(j=0;
j
<
c
o
u
n
t
(
j<count(
j<count(a[
i
]
)
;
i]);
i]);j++){
$r[] =
a
[
a[
a[i][$j];
}
}else{
die(‘Not a array’);
}
}
return $r;
}
echo “多个数组合并
”;
print_r(t(range(1,4),range(1,4),range(1,4)));
echo “
”;
//求牛
echo “------求牛----
”;
function cow(
n
u
m
,
num,
num,y){
for(
j
=
1
;
j=1;
j=1;j<
y
;
y;
y;j++){
if($j>=4 && $j<15){
n
u
m
+
+
;
c
o
w
(
num++; cow(
num++;cow(num,
y
−
y-
y−j);
}
if($j == 20){
$num–;
}
}
return $num;
}
echo cow(2,2);
echo “
”;
// 二分查找 非递归算法
echo “-----二分查找 非递归算法 -------
”;
a
r
r
=
a
r
r
a
y
(
a
r
r
a
y
(
′
n
a
m
e
′
=
>
′
t
o
m
′
,
′
a
g
e
′
=
>
20
)
,
a
r
r
a
y
(
′
n
a
m
e
′
=
>
′
a
n
n
y
′
,
′
a
g
e
′
=
>
18
)
,
a
r
r
a
y
(
′
n
a
m
e
′
=
>
′
j
a
c
k
′
,
′
a
g
e
′
=
>
22
)
)
;
f
u
n
c
t
i
o
n
d
i
v
s
e
a
r
c
h
(
arr = array( array('name' => 'tom', 'age' => 20), array('name' => 'anny', 'age' => 18), array('name' => 'jack', 'age' => 22) ); function div_search(
arr=array(array(′name′=>′tom′,′age′=>20),array(′name′=>′anny′,′age′=>18),array(′name′=>′jack′,′age′=>22));functiondivsearch(ary,$key) {
$low = 0;
h
i
g
h
=
c
o
u
n
t
(
high = count(
high=count(ary) - 1;
i
=
0
;
w
h
i
l
e
(
i = 0; while(
i=0;while(low <= $high) {
m
i
d
=
f
l
o
o
r
(
(
mid = floor((
mid=floor((high+
l
o
w
)
/
2
)
;
i
f
(
low)/2); if(
low)/2);if(key ==
a
r
y
[
ary[
ary[mid]) return
k
e
y
;
e
l
s
e
i
f
(
key; elseif(
key;elseif(key <
a
r
y
[
ary[
ary[mid]) $high = $mid -1;// 唯有这样,范围才会不断缩小啊
else $low = KaTeX parse error: Expected 'EOF', got '}' at position 12: mid + 1; }̲ } echo '**二分…arr,0);
echo “
”;
// 二分查找 递归算法
echo “----二分查找,递归算法—
”;
function re_div_search(
a
r
y
,
ary,
ary,key,
l
o
w
,
low,
low,high) {
m
i
d
=
f
l
o
o
r
(
(
mid = floor((
mid=floor((high+
l
o
w
)
/
2
)
;
i
f
(
low)/2); if(
low)/2);if(key ==
a
r
y
[
ary[
ary[mid]) return
k
e
y
;
e
l
s
e
i
f
(
key; elseif(
key;elseif(key <
a
r
y
[
ary[
ary[mid]) return re_div_search(
a
r
y
,
ary,
ary,key,
l
o
w
,
low,
low,mid -1);
else return re_div_search(
a
r
y
,
ary,
ary,key,
m
i
d
+
1
,
mid + 1,
mid+1,high);
}
echo ‘二分查找,递归算法查找:’.re_div_search($arr,‘age’);die;
echo “
”;
*/
//冒泡排序
echo “—冒泡排序方法--------
”;
a
r
r
=
a
r
r
a
y
(
23
,
4
,
55
,
77
,
88
,
65
,
34
,
3
)
;
M
a
o
(
arr = array(23,4,55,77,88,65,34,3); Mao(
arr=array(23,4,55,77,88,65,34,3);Mao(arr);
function mao($arr){
n
=
c
o
u
n
t
(
n = count(
n=count(arr);
for(
i
=
0
;
i=0;
i=0;i<
n
;
n;
n;i++){
for(
j
=
j=
j=n-1;
j
>
0
;
j>0;
j>0;j–){
if(
a
r
r
[
arr[
arr[j-1]>
a
r
r
[
arr[
arr[j]){
$t =
a
r
r
[
arr[
arr[j-1];
a
r
r
[
arr[
arr[j-1] =
a
r
r
[
arr[
arr[j];
a
r
r
[
arr[
arr[j] = KaTeX parse error: Expected 'EOF', got '}' at position 8: t; }̲ } } //p…arr);
//return Mao(KaTeX parse error: Expected 'EOF', got '}' at position 8: arr); }̲ // print_r(arr);
//九九乘法表
echo “
”;
echo “---------**九九乘法表一------------
";
for(
i
=
1
;
i=1;
i=1;i<=9;KaTeX parse error: Expected '}', got 'EOF' at end of input: i++){ for(j=1;
j
<
=
j<=
j<=i;KaTeX parse error: Expected '}', got 'EOF' at end of input: j++){ if(j<=KaTeX parse error: Expected '}', got 'EOF' at end of input: i){ echo "i
j
=
"
.
j=".
j=".iKaTeX parse error: Undefined control sequence: \n at position 17: ….""; echo "\̲n̲"; } } e…i=1;
i
<
=
9
;
i<=9;
i<=9;i++){
for(
j
=
1
;
j=1;
j=1;j<=
i
;
i;
i;j++){
if(
j
<
=
j<=
j<=i){
echo
j
.
"
∗
"
.
j."*".
j."∗".i.” = “.
i
∗
i*
i∗j.” ";
}
}
echo “
”;
}
echo “
”;
//猴子算法
/*
- filename: kingmonkey.php
- author: luochuan wang
- date: April 2nd, 2009
- descript: an arithmetic to a program
- program: 一群猴子排成一圈,按1,2,…,n依次编号。
然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,
再数到第m只,在把它踢出去…,如此不停的进行下去, 直到最后只剩下一只猴子为止,
那只猴子就叫做大王。 要求编程模拟此过程,输入m、n, 输出最后那个大王的编号。
*/
function getKingMokey($n, $m) {
m
o
n
k
e
y
[
0
]
=
0
;
/
/
将
1
−
n
只
猴
子
顺
序
编
号
入
数
组
中
f
o
r
(
monkey[0] = 0; //将1-n只猴子顺序编号 入数组中 for(
monkey[0]=0;//将1−n只猴子顺序编号入数组中for(i= 1; $i<= $n; $i++){
m
o
n
k
e
y
[
monkey[
monkey[i] = $i;
}
l
e
n
=
c
o
u
n
t
(
len = count(
len=count(monkey);
//循环遍历数组元素(猴子编号)
for($i= 0; $i< $len; $i= $i){
$num = 0;
/*
- 遍历$monkey数组,计算数组中值不为0的元素个数(剩余猴子的个数)
- 赋值为
n
u
m
,
并
获
取
值
不
为
0
的
元
素
的
元
素
值
∗
/
f
o
r
e
a
c
h
(
num,并获取值不为0的元素的元素值 */ foreach(
num,并获取值不为0的元素的元素值∗/foreach(monkey as $key => KaTeX parse error: Expected '}', got 'EOF' at end of input: value){ if(value == 0) continue;
$num++;
$values = $value;
}
//若只剩一只猴子 则输出该猴子编号(数组元素值) 并退出循环
if($num == 1){
echo $values;
exit;
}
/*
-
若剩余猴子数大于1($num > 1)
-
继续程序
/
//将第$i只猴子踢出队伍(相应数组位置元素值设为0)
m o n k e y [ monkey[ monkey[i] = 0;
echo $i.""; //打印该猴子位置
/ -
获取下一只需要踢出队伍的猴子编号
-
在 m 值 范 围 内 遍 历 猴 子 并 设 置 m值范围内遍历猴子 并设置 m值范围内遍历猴子并设置m的计数器
-
依次取下一猴子编号
-
若元素值为0,则该位置的猴子已被踢出队伍
-
若不为0,继续获取下一猴子编号,且计数器加1
-
若取得的猴子编号大于数组个数
-
则从第0只猴子开始遍历(数组指针归零) 步骤同上
-
直到计数器到达 m 值 ∗ 最 后 获 取 的 m值 * 最后获取的 m值∗最后获取的i值即为下一只需要踢出队伍的猴子编号
*/
//设置计数器
for($j= 1; $j<= $m; $j++){
i + + ; / / 猴 子 编 号 加 一 , 遍 历 下 一 只 猴 子 i f ( i++; //猴子编号加一,遍历下一只猴子 if( i++;//猴子编号加一,遍历下一只猴子if(monkey[ i ] > 0 ) c o n t i n u e ; / / 若 该 猴 子 未 被 踢 出 队 伍 , 获 取 下 一 只 猴 子 编 号 / / 若 元 素 值 为 0 , 则 猴 子 已 被 踢 出 队 伍 , 进 而 循 环 取 下 一 只 猴 子 编 号 i f ( i] > 0) continue; //若该猴子未被踢出队伍,获取下一只猴子编号 //若元素值为0,则猴子已被踢出队伍,进而循环取下一只猴子编号 if( i]>0)continue;//若该猴子未被踢出队伍,获取下一只猴子编号//若元素值为0,则猴子已被踢出队伍,进而循环取下一只猴子编号if(monkey[KaTeX parse error: Expected '}', got 'EOF' at end of input: …取下一只猴子编号 for(k= $i; $k< $len; KaTeX parse error: Expected '}', got 'EOF' at end of input: …值为0,编号加1 if(monkey[$k] == 0) i + + ; / / 否 则 , 编 号 已 取 得 , 退 出 i f ( i++; //否则,编号已取得,退出 if( i++;//否则,编号已取得,退出if(monkey[KaTeX parse error: Expected 'EOF', got '}' at position 16: k] > 0) break; }̲ } //若编号大于猴…i == $len) i = 0 ; / / 同 上 步 骤 , 获 取 下 一 只 猴 子 编 号 i f ( i = 0; //同上步骤,获取下一只猴子编号 if( i=0;//同上步骤,获取下一只猴子编号if(monkey[KaTeX parse error: Expected '}', got 'EOF' at end of input: …= 0) { for(k= $i; $k< $len; KaTeX parse error: Expected '}', got 'EOF' at end of input: k++) { if(monkey[$k] == 0) $i++;if( m o n k e y [ monkey[ monkey[k] > 0) break;
}
}
}
}
}
//猴子个数
$n = 10;
//踢出队伍的编号间隔值
m = 3 ; / / 调 用 猴 王 获 取 函 数 g e t K i n g M o k e y ( m = 3; //调用猴王获取函数 getKingMokey( m=3;//调用猴王获取函数getKingMokey(n, $m);
/-------遍历文件下所有的文件和文件夹一—*/
function traverse($path = '.') {
$current_dir = opendir($path); //opendir()返回一个目录句柄,失败返回false
while(($file = readdir($current_dir)) !== false) { //readdir()返回打开目录句柄中的一个条目
$sub_dir = $path . DIRECTORY_SEPARATOR . $file; //构建子目录路径
if($file == '.' || $file == '..') {
continue;
} else if(is_dir($sub_dir)) { //如果是目录,进行递归
echo 'Directory ' . $file . ':<br>';
traverse($sub_dir);
} else { //如果是文件,直接输出
echo 'File in Directory ' . $path . ': ' . $file . '<br>';
}
}
}
traverse(‘xxtt’);
/****—遍历文件下所有的文件和文件夹二–/
d
i
r
=
"
.
"
;
/
/
当
前
目
录
l
i
s
t
f
i
l
e
(
dir = "."; //当前目录 list_file(
dir=".";//当前目录listfile(dir);
function list_file($dir){
l
i
s
t
=
s
c
a
n
d
i
r
(
list = scandir(
list=scandir(dir); // 得到该文件下的所有文件和文件夹
foreach($list as $file){//遍历
f
i
l
e
l
o
c
a
t
i
o
n
=
file_location=
filelocation=dir."/".
f
i
l
e
;
/
/
生
成
路
径
i
f
(
i
s
d
i
r
(
file;//生成路径 if(is_dir(
file;//生成路径if(isdir(file_location) && KaTeX parse error: Expected 'EOF', got '&' at position 11: file!="." &̲&file!="…"){ //判断是不是文件夹
echo "------------------------sign in
f
i
l
e
l
o
c
a
t
i
o
n
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
"
;
l
i
s
t
f
i
l
e
(
file_location------------------"; list_file(
filelocation−−−−−−−−−−−−−−−−−−";listfile(file_location); //继续遍历
}
echo “
”;
}
}
?>\
如何对下面两个数组进行相互转换
如题:我想做一个指定时间内输出每一天的日期和数量(默认为0)的数组,但是现在得到的是如下结构:
function date_rang($start_date, KaTeX parse error: Expected '}', got 'EOF' at end of input: …y_map(function(n){
$d = date(‘Y-m-d’, $n);
r
=
"
0
"
;
r
e
t
u
r
n
′
日
期
′
.
′
:
′
.
r = "0"; return '日期'.':'.
r="0";return′日期′.′:′.d.’|’.‘数量’.’:’.KaTeX parse error: Expected 'EOF', got '}' at position 4: r; }̲, range(strtoti…start_date), strtotime($end_date), 24*3600));
}
a
r
r
=
d
a
t
e
r
a
n
g
(
′
2014
−
11
−
1
0
′
,
′
2014
−
11
−
1
5
′
)
;
p
r
i
n
t
r
(
arr = date_rang('2014-11-10', '2014-11-15'); print_r(
arr=daterang(′2014−11−10′,′2014−11−15′);printr(arr);
更多
满意回答
这个是php吧,很容易改的,把输出字符串改成数组就行了,你设置一个data数组把结果代入进去就可以了,如下所示
function date_rang($start_date, KaTeX parse error: Expected '}', got 'EOF' at end of input: …y_map(function(n){
$data[‘日期’] = date(‘Y-m-d’, $n);
$data[‘数量’] =“0”;
return KaTeX parse error: Expected 'EOF', got '}' at position 7: data; }̲, range(strtoti…start_date), strtotime($end_date), 24*3600));
}
a
r
r
=
d
a
t
e
r
a
n
g
(
′
2014
−
11
−
1
0
′
,
′
2014
−
11
−
1
5
′
)
;
p
r
i
n
t
r
(
arr = date_rang('2014-11-10', '2014-11-15'); print_r(
arr=daterang(′2014−11−10′,′2014−11−15′);printr(arr);
php面试题不使用第三个变量交换两个变量的值 - PHP点点通
php面试题不使用第三个变量交换两个变量的值
发布时间: 2013-05-19浏览次数:7136分类: PHP教程
这是我最近看到的一道面试题,有多种方法实现:
实现1:
- <?php
- $a =“php”;
- $b =“java”;
- //list()不是函数,是语言结构,它是将数组中的值赋给一些变量
- list( a , a, a,b)= array( b , b, b,a);
- echo a . ′ − − − ′ . a.'---'. a.′−−−′.b;//java—php
- ?>
实现2:
- <?php
- $a =“php”;
- $b =“java”;
- a = e x p l o d e ( ′ − ′ , a = explode('-', a=explode(′−′,a.’-’.$b);
- b = b = b=a[0];
- a = a = a=a[1];
- echo a . ′ − − − ′ . a.'---'. a.′−−−′.b;//java—php
- ?>
https://my.oschina.net/banbo/blog/303308
三张表的链表查询
—table1指的是第一张表,table2指的是第二张表,table3指的是第三张表,
select
a.uid,a.uname,a.upsw,a.urealname,a.utel,a.remark,
b.rname,b.rremark,
c.deptname,c.deptremark
from table1 a,table2 b, table3 c
where a.sems_role_rid=b.rid and a.udeptid=c.deptid
使用五种以上方式获取一个文件的扩展名
1)get_ext1(KaTeX parse error: Expected '}', got 'EOF' at end of input: …return strrchr(file_name, ‘.’);}
2)get_ext2(KaTeX parse error: Expected '}', got 'EOF' at end of input: … return substr(file_name, strrpos(KaTeX parse error: Expected 'EOF', got '}' at position 18: …le_name, '.'));}̲ 3)get_ext3(file_name)
{ return array_pop(explode(’.’, KaTeX parse error: Expected 'EOF', got '}' at position 13: file_name));}̲ 4)get_ext4(file_name)
{
p
=
p
a
t
h
i
n
f
o
(
p = pathinfo(
p=pathinfo(file_name);return KaTeX parse error: Expected 'EOF', got '}' at position 16: p['extension'];}̲ 5)get_ext5(file_name)
{ return strrev(substr(strrev(
f
i
l
e
n
a
m
e
)
,
0
,
s
t
r
p
o
s
(
s
t
r
r
e
v
(
file_name), 0, strpos(strrev(
filename),0,strpos(strrev(file_name), ‘.’))
}
用PHP遍历目录下的全部文件
- \n"; while($file = $mydir->read()) { if((is_dir("$directory/$file")) AND ($file!=".") AND ($file!="..")) { echo "
- $file
- \n"; tree("$directory/$file"); } else echo "
- $file
- \n"; } echo "
目录为粉红色
\n"; tree("./nowamagic"); **第二种实现办法:用readdir()函数** function listDir($dir) { if(is_dir($dir)) { if ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false) { if((is_dir($dir."/".$file)) && $file!="." && $file!="..") { echo " 文件名:",$file,"
"; listDir($dir."/".$file."/"); } else { if($file!="." && $file!="..") { echo $file."
"; } } } closedir($dh); } } } //开始运行 listDir("./nowamagic"); ?>
另一种方式:
<?php function read_all_dir ( $dir ) { $result = array(); $handle = opendir($dir); if ( $handle ) { while ( ( $file = readdir ( $handle ) ) !== false ) { if ( $file != '.' && $file != '..') { $cur_path = $dir . DIRECTORY_SEPARATOR . $file; if ( is_dir ( $cur_path ) ) { $result['dir'][$cur_path] = read_all_dir ( $cur_path ); } else { $result['file'][] = $cur_path; } } } closedir($handle); } return $result; } ?>