A. php中在循環外部如何強制結束循環
不可能。PHP 是單線程的。如果這個線程正在執行一個循環。就只能在循環中做條件判斷。不可能有另外的代碼同時在運行。。自然也不能通過其它代碼中斷它。。
如果你一定要這么做,我這里只有一個不是辦法的辦法。。。在循環裡面寫一個讀取文件。判斷這個文件的內容是0還是1。。如果是0則中斷。。這樣。如果在循環結束之前。有東西把這個文件的內容變成 0 了。那循環也就中斷了。。
不過,這樣的做法效果非常低。。你也可以改為。判斷一個文件是否存在。。如果存在則中斷循環並刪除這個文件。以便下次可以繼續循環。。任意程序只要創建了這個文件就會讓循環中斷。
B. PHP中關於判斷一個數是否是素數的表單操作,有個地方不知道該怎麼改
for語句缺少步長,你的代碼會進入死循環,下面的語句:
for($i=1;$i<=$n1;){
應該修改為:
for($i=1;$i<=$n1;$i++){
C. php中怎樣實現倒計時功能
可以考慮asp實現:
1.HiddenField 控制項儲存時間
<!--2700秒時間-->
<asp:HiddenField ID="hidTime" runat="server" Value="2700" />
2.js代碼
<script language="javascript" type="text/javascript">
var time;
var minutes;
var seconds;
var str;
function ShowTime2() {
if(document.getElementById("btnSubmitExam") !=null)
{
time = document.getElementById("hidTime").value;
time = time - 1;
document.getElementById("hidTime").value = time;
minutes = parseInt(time / 60);
seconds = time % 60;
document.getElementById("DjTimeDiv").innerHTML = "剩餘時間:" + minutes + "分鍾" + seconds + "秒";
if (time == 1) {
document.getElementById("DjTimeDiv").innerHTML="剩餘時間:0分鍾0秒";
document.getElementById ("btnSubmitExam").click();
// window.close();
}else
{
setTimeout("ShowTime2()", 1000);
}
}else
{
document.getElementById("DjTimeDiv").innerHTML="剩餘時間:0分鍾0秒";
}
}
</script>
D. php 如何過濾掉xml中的特殊字元
functionxmlentities($string,$quote_style=ENT_QUOTES)
{
static$trans;
//
//
$string=html_entity_decode($string,ENT_QUOTES);
//xmlencoding
if(!isset($trans))
{
$trans=get_html_translation_table(HTML_ENTITIES,$quote_style);
foreach(array_keys($trans)as$key)
{
$trans[$key]='&#'.ord($key).';';
}
//donttranslatethe'&'incaseitispartof&xxx;
$trans[chr(38)]='&';
}
//aftertheinitialtranslation,_do_mapstandalone'&'into'&'
$str_temp=preg_replace("/&(?![A-Za-z]{0,4}w{2,3};|#[0-9]{2,3};)/u"
,"&"
,strtr($string,$trans)
);
return$str_temp;
}
E. php根據數組中的元素怎樣查找下標
<?php
$t=array('x'=>'y');
print array_search('y',$t);
?>
如果我的回答沒能幫助您,請繼續追問。
您也可以向我們團隊發出請求,會有更專業的人來為您解答。
F. php怎樣不使用框架的情況下本地模擬url路由,實現localhost/a/id/1這種的訪問方式
要實現路由的話你依然需要框架中路由器的支持,因為伺服器不能理解你路徑的具體含義.所以你需要一個路由器來幫助伺服器去處理特定的信息.
不想用現成的就自己寫一個簡單的,如下:
首先你需要在htdoc下放一個.htaccess來實現單文件入口:
<IfMolemod_rewrite.c>
RewriteEngineOn
RewriteRule^$index.php?_url=[QSA,PT,L]
RewriteCond%{REQUEST_FILENAME}!-f
RewriteCond%{REQUEST_FILENAME}!-d
RewriteRule^(.*)$index.php?_url=$1[QSA,L]
</IfMole>
然後自己寫路由咯, index.php
<?php
//這里添加你想要的路徑
$route=array(
//(:num)表示匹配任何數字,(:any)表示任意字元
'a/id/(:num)'=>'TestController:idAction',
'a/any/(:any)'=>'TestController:anyAction',
'a/no' =>'TestController:noAction',
//這里是默認控制器,就是當你訪問localhost的時候用
'_DEFAULT_'=>'IndexController:indexAction',
);
//簡單的Router
classRouter
{
private$route;
publicfunction__construct(array$route)
{
$this->route=$route;
}
publicfunctionparse($url)
{
if(empty($url)){
list($controller,$action)=explode(':',$this->route['_DEFAULT_']);
returnarray(
'controller'=>$controller,
'action' =>$action,
'params' =>array(),
);
}
$trans=array(
':any'=>'[^/]+',
':num'=>'[0-9]+'
);
foreach($this->routeas$u=>$d){
$pattern='#^'.strtr($u,$trans).'$#';
if(preg_match($pattern,$url,$params)){
list($controller,$action)=explode(':',$d);
array_shift($params);
returnarray(
'controller'=>$controller,
'action' =>$action,
'params' =>$params,
);
}
}
header("HTTP/1.0404NotFound");
exit('Pagenotfound');
}
}
$r=newRouter($route);
$arr=$r->parse($_GET['_url']);
require($arr['controller'].'.php');
//執行控制器的功能
$dispatcher=new$arr['controller'];
call_user_func_array(array($dispatcher,$arr['action']),$arr['params']);
?>
控制器1. Testcontroller.php
<?php
classTestController
{
publicfunctionidAction($id)
{
echo"Yourint-onlyidis:{$id}";
}
publicfunctionanyAction($any_id)
{
echo"Youanyidis:{$any_id}";
}
publicfunctionnoAction()
{
echo"Thismethodtakenoparameter";
}
}
默認控制器: IndexController.php
<?php
classIndexController
{
publicfunctionindexAction()
{
echo"HelloWorld!";
}
}
把.htaccess, index.php, TestController.php, IndexController.php放在htdoc里就可以了
G. PHP中 替換字元串,只要替換一次,不要反復替換
<?php
$a=array('6','7','8','9');
$b=array('90','80','70','60');
$trans=array_combine($a,$b);
$result=strtr($c,$trans);
?>
H. php 鍵值和值互換位置,是什麼方法的
使用array_flip函數可以交換數組的鍵值,詳細用法如下:
array_flip — 交換數組中的鍵和值
arrayarray_flip(array$trans)
array_flip() 返回一個反轉後的 array,例如 trans 中的鍵名變成了值,而trans 中的值成了鍵名。
注意 trans 中的值需要能夠作為合法的鍵名,例如需要是integer 或者 string。如果值的類型不對將發出一個警告,並且有問題的鍵/值對將不會反轉。
如果同一個值出現了多次,則最後一個鍵名將作為它的值,所有其它的都丟失了。
參數:
trans:要交換鍵/值對的數組。
返回值:
成功時返回交換後的數組,如果失敗返回 NULL。