A. php實現的自定義數組排序函數與排序類示例
本文實例講述了PHP實現的自定義數組排序函數與排序類。分享給大家供大家參考,具體如下:
/*
*
二維數組自定義排序函數
*
uasort($arr,function_name)
*
**/
$arr
=
array(
array('a'=>1,'b'=>'c'),
array('a'=>4,'b'=>'a'),
array('a'=>5,'b'=>'g'),
array('a'=>7,'b'=>'f'),
array('a'=>6,'b'=>'e')
);
function
compare_arr($x,$y){
if($x['b']<$y['b']){
return
-1;
}else
if($x['b']>$y['b']){
return
1;
}else{
return
0;
}
}
uasort($arr,'compare_arr');
foreach($arr
as
$a){
echo
$a['a'].'=>'.$a['b'].'<br/>';
}
手冊里的自定義排序類:
class
multiSort
{
var
$key;
//key
in
your
array
//排序函數
參數依次是
數組
待排列索引
排序類型
function
run
($myarray,
$key_to_sort,
$type_of_sort
=
'')
{
$this->key
=
$key_to_sort;
if
($type_of_sort
==
'desc')
uasort($myarray,
array($this,
'myreverse_compare'));
else
uasort($myarray,
array($this,
'mycompare'));
return
$myarray;
}
//正序
function
mycompare($x,
$y)
{
if
(
$x[$this->key]
==
$y[$this->key]
)
return
0;
else
if
(
$x[$this->key]
<
$y[$this->key]
)
return
-1;
else
return
1;
}
//逆序
function
myreverse_compare($x,
$y)
{
if
(
$x[$this->key]
==
$y[$this->key]
)
return
0;
else
if
(
$x[$this->key]
>
$y[$this->key]
)
return
-1;
else
return
1;
}
}
更多關於PHP相關內容感興趣的讀者可查看本站專題:《PHP數組(Array)操作技巧大全》、《php排序演算法總結》、《php字元串(string)用法總結》、《PHP針對XML文件操作技巧總結》、《PHP錯誤與異常處理方法總結》、《PHP運算與運算符用法總結》、《PHP基本語法入門教程》、《php面向對象程序設計入門教程》、《php+mysql資料庫操作入門教程》及《php常見資料庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
B. PHP要怎樣實現網站的功能,可以舉一個簡單的例子嗎
你試試,當是如此靜態頁面使用模板吧,所有的介面都設計為靜態網頁,裡面所有你需要使用PHP變數(或您自己的其他特殊格式要求)來表示,設計布局這個靜態的網頁內容上的操作。
本網站不直接向外顯示所有的內容頁面,PHP的頁面是從程序的內部資料庫中檢索,之後頁面模板替換輸出變數。
例如,你的主頁的模板可以被命名的index.htm,index.php來顯示實際的頁面,PHP的過程是這樣的:
<PHP
/ /?鏈接資料庫,訪問不同類型的數據到一個變數
$消息='內容,如新聞';
/ /獲取
$ HTML = file_get_content模板('的index.htm') ;
/ /替換模板變數
$ HTML = str_replace函數(' - 新聞 - ',$消息,$ HTML);
/ /輸出模塊
回聲$的html; ?>
C. 《PHP經典實例第三版》pdf下載在線閱讀全文,求百度網盤雲資源
《PHP經典實例第三版》網路網盤pdf最新全集下載:
鏈接:https://pan..com/s/1ch6ga6BH1WSWgRuAhF-g6Q
D. 急,求幫忙,一個簡單的php例子
$data = array();
$data['user_name'] = $_POST['user_name'];
$data['password'] = $_POST['password'];
$this->db->insert($data);//插入資料庫
這個是最直觀的,當然如果是做項目的話,還要做用戶名的判斷 ,用戶信息的判斷,提交信息安全的過濾,然後再入庫
$data['password'] = md5($_POST['password']);
這里的$this->db->insert(); 是CI框架 的方法,不同的框架有不同的插入方法的
如果 不是框架 裡面的話就是
$sql = "insert into table(`user_name`, `password`) values('$data[user_name]','$data[password]')";
E. php實現獲取區域網所有用戶的電腦IP和主機名、及mac地址完整實例
本文所述php實例可以完成獲取區域網所有用戶的電腦IP和主機名、及mac地址的功能,對於php程序設計人員有一定的參考借鑒價值。完整代碼如下:
<?php
$bIp
=
gethostbyname($_ENV['COMPUTERNAME']);
//獲取本機的區域網IP
echo
"本機IP:",$bIp,"\n";
echo
"本機主機名:",gethostbyaddr($bIp),"\n\n\n";
//gethostbyaddr
函數可以根據區域網IP獲取主機名
//默認網關IP
list($ipd1,$ipd2,$ipd3)
=
explode('.',$bIp);
$mask
=
$ipd1
.
"."
.
$ipd2
.
"."
.
$ipd3
;
exec('arp
-a',$aIp);
//獲取區域網中的其他IP
foreach(
$aIp
as
$ipv)
{
if(strpos($ipv,'介面')
!==
false)
{//一下顯示的IP是否是當前區域網中的
而不是其他的類型
可以在cmd下試一下命令
$bool
=
false;
preg_match('/(?:(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))/',$ipv,$arr);
if(strcmp($arr[0],$bIp)
==
0)
{
$bool
=
true;
}
}
else
{
if($bool)
{
$str
=
preg_replace('/\s+/',
'|',
$ipv);
$sArr
=
explode('|',$str);
if($sArr[1]
==
'Internet'
||
empty($sArr[1]))
{
continue;
}
//去除默認網關
if(strcmp($mask
.
".1",
$sArr[1])
==
0)
{
continue;
}
//去除同網關下255的IP
if(strcmp($mask
.
".255",
$sArr[1])
==
0)
{
continue;
}
//去除組播IP
list($cIp)
=
explode('.',
$sArr[1]);
if($cIp
>=
224
&&
$cIp
<=
239)
{
continue;
}
echo
"IP地址:|",$sArr[1],"|\n";
echo
"MAC地址:",$sArr[2],"\n";
echo
"主機名:",gethostbyaddr($sArr[1]),"\n";
echo
"\n\n";
}
}
}
該程序是在cli模式下運行的,在瀏覽器上應該也可以
php獲取區域網中的用戶ip功能就完成了,主要用到的是php的exec函數
和window的arp
-a
命令
其中獲取本機IP:gethostbyname($_ENV['COMPUTERNAME'])
有別於以往的寫法,感興趣的朋友可以繼續深入研究一下。
獲取主機名函數:gethostbyaddr(IPd)
這個函數功能也很強大。
F. 可以列舉幾個簡單的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
//遞歸獲得角色ID字元串
function explodeRole($roleObj, &$resultStr){
if(0 < count($roleObj->childRoleObjArr)){
foreach($roleObj->childRoleObjArr as $childRoleObj){
if('' == $resultStr){
$resultStr .= "{$childRoleObj->id}";
}else{
$resultStr .= ", {$childRoleObj->id}";
}
explodeRole($childRoleObj, $resultStr);
}
}
}
//遞歸獲取級聯角色信息數組
function makeRoleRelation(&$roleObjArr){
foreach($roleObjArr as $item){
$item->childRoleObjArr = getRoleObjArrByParentId($item->id);
if(0 < count($item->childRoleObjArr)){
makeRoleRelation($item->childRoleObjArr);
}
}
}
//通過父角色的id獲取子角色信息
function getRoleObjArrByParentId($parentid){
$operCOGPSTRTSysRole = new COGPSTRTSysRole();
$operCOGPSTRTSysRole->setColumn($operCOGPSTRTSysRole->getAllColumn());
$operCOGPSTRTSysRole->setWhere("parentroleid={$parentid}");
$roleObjArr = $operCOGPSTRTSysRole->convResult2ObjArr($operCOGPSTRTSysRole->selectTable());
return isset($roleObjArr)?$roleObjArr:array();
}
php的遞歸函數用法
一個函數在它的函數體內調用它自身稱為遞歸調用。這種函數稱為遞歸函數。這對於程序員來說,通常有很高的實用價值,常用來將復雜的問題分解為簡單的並相同的情況,反復做這種處理直到問題解決。
用遞歸函數與不用遞歸函數的區別
示例一:使用靜態變數
?
1
2
3
4
5
6
7
8
function test(){
static $dig=0;
if($dig++<10){
echo $dig;
test();
}
}
test();//12345678910
示例二:使用遞歸函數和循環實現字元串逆轉排列
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function unreverse($str){
for($i=1;$i<=strlen($str);$i++){
echo substr($str,-$i,1);
}
}
unreverse("abcdefg");//gfedcbc
function reverse($str){
if(strlen($str)>0){
reverse(substr($str,1));
echo substr($str,0,1);
return;
}
}
reverse("abcdefg");//gfedcbc
遞歸函數很多時候我們可以循環替代,建議當我們不能用循環替代時再用,因為用循環我們更容易理解,更不容易出錯。
php遞歸函數
php支付遞歸函數,遞歸函數就是調用自己本身,這些函數特別適用於瀏覽動態數據結構,例如樹和列表。
幾乎沒有web應用程序要求使用復雜的數據結構
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
function reversr_r($str)
{
if (strlen($str)>0)
reverse_r(substr($str,1));
echo substr($str,0,1);
return;
}
?>
<?php
function reverse_i($str)
{
for($i=1;$i<=strlen($str);$i++)
{
echo substr($str,-$i,1);
}
}
這個程序清單中實現兩個函數,這兩個函數都可以相反的順序列印字元串的內容
函數reversr_r是通過遞歸實現的,而函數reverse_i()是通過循環實現的
G. php 是什麼是什麼
PHP,是英文超文本預處理語言Hypertext Preprocessor的縮寫。
一、概念。
PHP 是一種 HTML 內嵌式的語言,是一種在伺服器端執行的嵌入HTML文檔的腳本語言,語言的風格有類似於C語言,被廣泛地運用。
二、解析。
PHP 獨特的語法混合了C、Java、Perl以及PHP自創的語法。它可以比CGI或者Perl更快速地執行動態網頁。用PHP做出的動態頁面與其他的編程語言相比,PHP是將程序嵌入到HTML文檔中去執行,執行效率比完全生成HTML標記的CGI要高許多;PHP還可以執行編譯後代碼,編譯可以達到加密和優化代碼運行,使代碼運行更快。
三、特點。
1、PHP 獨特的語法混合了 C、Java、Perl 以及 PHP 自創新的語法。
2、PHP安裝它可以比 CGI或者Perl更快速的執行動態網頁。用PHP做出的動態頁面與其他的編程語言相比。
3、PHP是將程序嵌入到HTML文檔中去執行,執行效率比完全生成htmL標記的CGI要高許多; PHP具有非常強大的功能,所有的CGI的功能PHP都能實現。
4、支持幾乎所有流行的資料庫以及操作系統。最重要的是PHP可以用C、C++進行程序的擴展。
H. PHP實現的pdo連接資料庫並插入數據功能簡單示例
本文實例講述了PHP實現的pdo連接資料庫並插入數據功能。分享給大家供大家參考,具體如下:
創建配置文件
pdo_config.php
<?php
$db_Type
=
"mysql";//資料庫類型
$host
=
"localhost";//主機名
$dbName
=
"test";//資料庫名
$userName
=
"root";//用戶名
$password
=
"root";//密碼
$dsn
=
"{$db_Type}:host={$host};dbname={$dbName}";
?>
pdo插入資料庫
pdo_insert.php
<?php
header('Content-type:text/html;
charset=utf-8');
require
'pdo_config.php';
try{
$pdo
=
new
PDO
($dsn,$userName,$password);//創建一個連接對象
$pdo->exec('set
names
utf8');//設置編碼
$sql
=
"INSERT
student
(name,email)
VALUES
('李四','[email protected]')";
$pdo->exec($sql);
}catch
(PDOException
$e){
die('操作失敗'.$e->getMessage());
}
//關閉連接
$pdo
=
null;
?>
更多關於PHP相關內容感興趣的讀者可查看本站專題:《PHP基於pdo操作資料庫技巧總結》、《php+mysqli資料庫程序設計技巧總結》、《php面向對象程序設計入門教程》、《php字元串(string)用法總結》、《php+mysql資料庫操作入門教程》及《php常見資料庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
您可能感興趣的文章:關於php連接mssql:pdo
odbc
sql
serverPHP5中使用PDO連接資料庫的方法PHP中PDO連接資料庫中各種DNS設置方法小結ThinkPHP框架基於PDO方式連接資料庫操作示例PHP使用ODBC連接資料庫的方法tp5(thinkPHP5)框架連接資料庫的方法示例PHP7使用ODBC連接SQL
Server2008
R2資料庫示例【基於thinkPHP5.1框架】tp5(thinkPHP5)操作mongoDB資料庫的方法thinkPHP5實現資料庫添加內容的方法tp5(thinkPHP5)框架資料庫Db增刪改查常見操作總結PHP利用pdo_odbc實現連接資料庫示例【基於ThinkPHP5.1搭建的項目】
I. php簡單smarty入門程序實例
本文實例講述了php簡單smarty入門程序。分享給大家供大家參考。具體如下:
首先要有3個文件夾configs、templates、templates_c,在configs文件夾中有一個配置文件:test.conf,代碼:
title
=
Welcome
to
Smarty!
cutoff_size
=
40
[setup]
bold
=
true
templates中有模板文件:test.htm:
<html>
<head>
<title>Smarty
Test</title>
</head>
<body>
<H1>Hello,
{$Name}</H1>
</body>
</html>
php文件代碼:
<?php
require
'libs/Smarty.class.php';
//包含Smarty類庫文件
$smarty
=
new
Smarty;
//創建一個新的Smarty對象
$smarty->assign("Name","Simon");
//對模版中的變數賦值
$smarty->display('test.htm');
//顯示頁面
?>
運行後顯示的頁面代碼:
<html>
<head>
<title>Smarty
Test</title>
</head>
<body>
<H1>Hello,
Simon</H1>
</body>
</html>
運行之後,還在templates_c文件夾中生成一個php文件:
<?php
/*
Smarty
version
2.6.22,
created
on
2009-03-19
13:20:00
compiled
from
test.htm
*/
?>
<html>
<head>
<title>Smarty
Test</title>
</head>
<body>
<H1>Hello,
<?php
echo
$this->_tpl_vars['Name'];
?>
</H1>
</body>
</html>
這個文件就是瀏覽所顯示出來的效果。
希望本文所述對大家的php程序設計有所幫助。