php if怎么使用,eval函数用法总结?
eval定义和用法
eval() 函数把字符串按照 PHP 代码来计算。
该字符串必须是合法的 PHP 代码,且必须以分号结尾。
如果没有在代码字符串中调用 return 语句,则返回 NULL。如果代码中存在解析错误,则 eval() 函数返回 false。
语法
eval(phpcode)
参数 描述
phpcode 必需。规定要计算的 PHP 代码。
提示和注释
注释:返回语句会立即终止对字符串的计算。
注释:该函数对于在数据库文本字段中供日后计算而进行的代码存储很有用。
例子
$string
$time
$str
echo$str
eval$str$str
echo$str
输出:
This is a $string $time morning!
This is a beautiful winter morning!
eval() 函数在CodeIgniter框架里也有用到。在 /system/database/DB.php 文件中,根据系统的配置动态的定义了一个类 CI_DB,具体代码片段如下:
if ( ! isset($active_record) OR $active_record == TRUE)
{
require_once(BASEPATH.'database/DB_active_rec.php');
if ( ! class_exists('CI_DB'))
{ // www.jbxue.com
eval('class CI_DB extends CI_DB_active_record { }');
}
}
else
{
if ( ! class_exists('CI_DB'))
{
eval('class CI_DB extends CI_DB_driver { }');
}
}
require_once(BASEPATH.'database/drivers/'.$params['dbdriver'].'/'.$params['dbdriver'].'_driver.php');
// Instantiate the DB adapter
$driver = 'CI_DB_'.$params['dbdriver'].'_driver';
$DB = new $driver($params);
本函式可将字符串之中的变量值代入,通常用在处理数据库的数据上。参数 code_str 为欲处理的字符串。值得注意的是待处理的字符串要符合 PHP 的字符串格式,同时在结尾处要有分号。使用本函式处理后的字符串会沿续到 PHP 程序结束。
a标签如何获取到php数据?
用js才用onclick 按你写的应该用url传值 <a href="dispsql.php?action=delete&id=这里放的是你数据库里对应记录的id">删除</a> <a href="dispsql.php?action=delete>全部删除</a> 在dispsql.php页面写删除语句,先接收上面传过来的条件 $action=GTE["action"]的值来选择执行删除还是删除全部 if($action=="delete"){ $id=GET["id"]; $sql = "delete from books where id={$id}"; mysql_query($sql); if($id==""){ 全部删除的语句 } }
调用接口的请求路径怎么写?
可以用curl获取借楼的信息。所谓接口,就是提供一个url,只要你满足它要求的参数,就能得到你要的数据。
比如你拿到一个接口,带上所需的参数,复制到地址栏同样能得到。不过最好用程序得到。
file_get_contents也可以用,不过有局限性。所以我建议用curl。给你一个函数,挺好用的。
functionrequest($url,$https=true,$method='GET',$data=null){$ch=curl_init()
;//初始化,得到资源curl_setopt($ch,CURLOPT_URL,$url)
;//请求数据的路径curl_setopt($ch,CURLOPT_HEADER,false)
;//是否输出头curl_setopt($ch,CURLOPT_RETURNTRANSFER,1)
;//不直接输出结果//curl_setopt($ch,CURLOPT_SAFE_UPLOAD,0)
;//兼容php之后的版本if($https){curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false)
;//是否验证主机curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,false)
;//是否进行证书验证}if($method=='POST'){curl_setopt($ch,CURLOPT_POST,true)
;//POST传输curl_setopt($ch,CURLOPT_POSTFIELDS,$data)
;//传输数据}$content_json=curl_exec($ch)
;if($content_json===false){return"网络请求出错:".curl_error($ch);}curl_close($ch)
;return$content_json;}
php如何连接并调用mysql数据库的数据?
建立好数据库后,
<?php
$con = mysql_connect("数据库地址","用户名","密码");
if (!$con) { die('链接错误: ' . mysql_error()); }
mysql_select_db("要使用的Table", $con);
mysql_query("INSERT INTO 表名 (字段1, 字段2, 字段N) VALUES ('字段1数据', '字段2数据', '字段3数据')");
mysql_close($con);
?>
一般情况下很少单独的这样使用,都是做成类。
你可以下载一个speedphp框架来参考一下。阅读这个框架的源码,对初学者来说相当的有帮助。
手打不谢
用php如何解析http对象?
php模拟http请求需要实现以下步骤:
1.连接apache服务器
使用fsockopen:专门用于连接服务器,得到一个连接资源
2.写入http协议
使用fwrite向资源写入内容
3.接收数据
请求成功后返回的数据会被存放在资源中
4.解析数据:
使用fgets,和fgetc函数
实现代码:
<?php
//php模拟发出http请求
//1.连接目标服务器apache
$f=fsockopen('localhost',98,$erron,$error);
//2.写入http协议
//2.1拼凑http协议
//请求行
$http="GET /phpstudy/index.php HTTP/1.1\r\n";
//请求头
$http .="Host:localhost\r\n";
//空行
$http .="\r\n";
//2.2写给apache服务器
if(fwrite($f,$http))
{
//写入成功
//3.数据已经接收并存放在f资源中
//4.解析资源
//循环遍历
while($line=fgets($f,1024))
{
//输出
echo $line ."</br>";
}
}