① php如何把一個多維數組輸入到一個文件中啊
可以使用序列化函數,或者直接保存數組
file_put_contents('1.php',"<?php\r\nreturn ".var_export($arr,true)."?>");
② php怎樣把一個數組寫入一個文件
方法一:
//將一個測試的數組寫入一個PHP文件:
<?php //要寫入PHP文件的數組 $write_array = array( '1' => 'oneone', '2'
=> 'two', '3' => 'three', '4' => 'four','5' => 'five' );
//字元串處理 $string_start = "<?php\n"; $string_process =
var_export($write_array, TRUE);$string_end = "\n?>"; $string =
$string_start.$string_process.$string_end; //開始寫入文件
echofile_put_contents('test_array.php', $string); ?>
這里用到了兩個函數:
1,var_export():
·var_export — 用來輸出或返回一個變數的字元串表示,它和 var_mp() 的區別是,var_export()
可以用來返回關於傳遞給該函數的變數的結構信息,並且其返回的表示是合法的 PHP 代碼如果 「echo
$string_process;」,則可以看到輸出結果:
array ( 1 => 'oneone', 2 => 'two', 3 => 'three', 4 => 'four', 5 => 'five', )
而它就是我們要寫入 test_array.php 文件的內容(除去 php 標簽);
·var_mp() 函數用來列印變數的相關信息,它只用來「列印」,而不會返回值,它的原型是 void var_mp(……),我們來 「var_mp($string_process);」,則可以看到輸出結果:
string(86) "array ( 1 => 'oneone', 2 => 'two', 3 => 'three', 4 => 'four', 5 => 'five', )"
可以看到輸出的string(86) 「…」,再一次說明了 var_export() 返回的是一個字元串。
2,file_put_contents():
file_put_contents — 將一個字元串寫入文件,原型是 int file_put_contents ( string
filename, string data [, int flags [, resource context]]
),這里我們只用到了兩個參數,」string filename」:要寫入的文件名;」string data」:字元串數據;
此函數返回寫入到文件內數據的位元組數,如果我們 「echo file_put_contents(』test_array.php』, $string);」,則會輸出一個整數 :95。
因為輸出的 array() 佔了 86 個位元組,還有的 $string_start 和 $string_end 又佔了 9 個位元組,轉義字元 換行符 在這里只佔 1 個位元組。(不知道這樣解釋恰當不恰當,還有望大家多多指正)
方法二:json_encode()
我們常見一些網站在做ajax時返回JSON格式的數據:
返回的是json格式的數據返回的是json格式的數據
這有什麼好處那?很顯然前端在接到返回的數據時可以直接使用,而不用再用eval_r('(+ returnString +)')或者 $.parseJSON(returnString ) (jQuery的函數)來轉化為js對象,這樣顯然為用戶省電了。。。
在網上搜索了一下,這個問題在搜索中文信息的時候比較少,一些說是返回json的都是在前端進行的轉化處理,根本不是返回JSON格式,其實返回json相當的簡單。
原來的數據就是JSON格式
下例來自《鋒利的jQuery》:
$(function(){
$('#send').click(function() {
$.getJSON('http://blog.meituo.net/wp-content/uploads/php_return_json/test.js', function(data) {
$('#resText').empty();
var html = '';
$.each( data , function(commentIndex, comment) {
html += '<div class="comment"><h6>' +
comment['username'] + ':</h6><p class="para">' +
comment['content'] + '</p></div>';
})
$('#resText').html(html);
})
})
})
你需要做的就是將數據存儲為格式正確的 .json或者.js 文件。以下為示例所傳送的json格式的數據
[
{
"username": "張三",
"content": "沙發."
},
{
"username": "李四",
"content": "板凳."
},
{
"username": "王五",
"content": "地板."
}
]
php輸出JSON格式
那麼php如何輸出json格式?php 使用json_encode函數,然後jQuery使用datatype:json 就可以了嘛? 它的輸出如下:
php 使用json_encode函數,jQuery使用datatype:json的返回類型php 使用json_encode函數,jQuery使用datatype:json的返回類型
顯然並非所願。還是字元串,到底怎麼實現?其實很簡單,只要在php文件頭部加入以下代碼:
header('Content-type: text/json');
這個頭就是告知此文件輸出類型為 json,這種形式我們見的最多的是驗證碼——php輸出驗證圖片,有時php可以輸出css文件,js文件等做一些有趣的事情。好的,我們測試一下吧。查看示例
示例代碼:
< ?php
header('Content-type: text/json');
$fruits = array (
"fruits" => array("a" => "orange", "b" => "banana", "c" => "apple"),
"numbers" => array(1, 2, 3, 4, 5, 6),
"holes" => array("first", 5 => "second", "third")
);
echo json_encode($fruits);
?>
③ PHP如何在數組指定位置插入元素
第一步$arr=array('a','b','c','d','e','f','g');//目標數組
第二步$i_arr=array('1','2');//要插入的數組
第三步$n=2;//插入的位置
第四步array_splice($arr,$n,0,$i_arr);
第五步print_r($arr);
按順序輸入,並且輸入正確就可以了。
④ php如何定義一個數組,輸入9個任意的整數,求該數組中所有奇數的平均值。
<?php
$arr=[1,2,3,4,5,6,7,8,9];//PHP5.4+
$total=0,$i=0;
foreach($arras$v){
if($v%2!=0){//奇數
$total+=$v;
++$i;
}
}
$total/=$i;
echo"所有奇數的平均值:".$total;
⑤ 如何PHP循環輸入數組
1.PHP基本上就是一種數組語言。時常要進行大量的數組循環操作,主要有兩種方式,
一種是foreach,另一種是while,
代碼如下:
foreach
($array
as
$value)
{
echo
$value;
}
while
(list($key)
=
each($array))
{
echo
$array[$key];
}
foreach
($array
as
$value)
{
echo
$value;
}
while
(list($key)
=
each($array))
{
echo
$array[$key];
}
2.在循環里進行的是數組「寫」操作,則while比foreach快:
foreach
($array
as
$key
=>
$value)
{
echo
$array[$key]
=
$value
.
'...';
}
while
(list($key)
=
each($array))
{
$array[$key]
=
$array[$key]
.
'...';
}
foreach
($array
as
$key
=>
$value)
{
echo
$array[$key]
=
$value
.
'...';
}
while
(list($key)
=
each($array))
{
$array[$key]
=
$array[$key]
.
'...';
}
⑥ PHP如何在數組添加有鍵名的元素
需要准備的材料分別是:電腦、php編輯器、瀏覽器。
1、首先,打開php編輯器,新建php文件,例如:index.php,已知2個數組。
⑦ php里說出數組的常用函數及用法
PHP常用操作數組的函數
變數和數組的轉換
compact() 將變數整合成數組
extract() 將數組中的每個值以鍵的名分解成變數
變數和字元串轉換
explode() 以某個子串分解字元串成數組
implode() 將一維數組根據某個符號拼接成字元串
數組與數組之間關系
array_merge() 合並/並集
array_diff() 差集
array_intersect() 交集
數組值的操作
array_pop() 刪除(彈出)數組最後一個值
array_push() 向數組中追加一個值
判斷數組是否存在數組中
in_array() 判斷一個值是否存在數組中
array_key_exists() 判斷鍵是否存在數組中
數組去重
array_unique() 數組去重
獲取二維數組中的值的集合
array_column() 獲取二維數組中的值的集合
提取數組的鍵與值
array_values 提取數組的值構成一維數組
array_keys 提取數組的鍵構成一維數組
返回數組中的隨機的鍵
array_rand() 返回數組中的隨機的鍵
返回數組中值的數量
count() 返回數組中值的和
查詢數組中的值
array_search() 查詢數組中的值是否存在/in_array()有點相似
排序
sort() 排序有很多種,按鍵或值升降序
array_multisort() 多維數組排序
分割數組
array_chunk()
⑧ php如何循環錄入數組中的數據
foreach($arr as $value){
$sql="insert into list(title)values(".$value.")"; //再插入
}
⑨ php數組函數序列之array_splice() - 在數組任意位置插入元素
array_splice定義和用法
array_splice()
函數與
array_slice()
函數類似,選擇數組中的一系列元素,但不返回,而是刪除它們並用其它值代替。
如果提供了第四個參數,則之前選中的那些元素將被第四個參數指定的數組取代。
最後生成的數組將會返回。
語法
array_splice(array,offset,length,array)參數
描述
array
必需。規定數組。
offset
必需。數值。如果
offset
為正,則從輸入數組中該值指定的偏移量開始移除。如果
offset
為負,則從輸入數組末尾倒數該值指定的偏移量開始移除。
length
可選。數值。如果省略該參數,則移除數組中從
offset
到
結尾的所有部分。如果指定了
length
並且為正值,則移除這么多元素。如果指定了
length
且為負值,則移除從
offset
到數組末尾倒數
length
為止中間所有的元素。
array
被移除的元素由此數組中的元素替代。如果沒有移除任何值,則此數組中的元素將插入到指定位置。
提示和注釋
提示:如果函數沒有刪除任何元素
(length=0),則替代數組將從
start
參數的位置插入。(參見例子
3)
注釋:不保留替代數組中的鍵。
例子
1
復制代碼
代碼如下:
<?php
$a1=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird");
$a2=array(0=>"Tiger",1=>"Lion");
array_splice($a1,0,2,$a2);
print_r($a1);
?>
輸出:
Array
(
[0]
=>
Tiger
[1]
=>
Lion
[2]
=>
Horse
[3]
=>
Bird
)例子
2
與例子
1
相同,但是輸出返回的數組:
復制代碼
代碼如下:
<?php
$a1=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird");
$a2=array(0=>"Tiger",1=>"Lion");
print_r(array_splice($a1,0,2,$a2));
?>
輸出:
Array
(
[0]
=>
Dog
[1]
=>
Cat
)例子
3
length
參數設置為
0:
復制代碼
代碼如下:
<?php
$a1=array(0=>"Dog",1=>"Cat");
$a2=array(0=>"Tiger",1=>"Lion");
array_splice($a1,1,0,$a2);
print_r($a1);
?>
輸出:
Array
(
[0]
=>
Dog
[1]
=>
Tiger
[2]
=>
Lion
[3]
=>
Cat
)
⑩ php寫一個數組用html表格輸出這個數組
1、首先輸入:
<?php
class xtable
{
private $tit,$arr,$fons,$sextra;
public function __construct()
{
$this->tit=array();// strings with titles for first row
$this->arr=array();// data to show on cells
$this->fons=array("#EEEEEE","#CCEEEE");// background colors for odd and even rows
$this->sextra="";// extra html code for table tag
}