⑴ php中怎樣向關聯數組的指定位置插入另一個數組的元素
這個功能需求來自於網站運營策略,舉倒子:
在一個排行列表中,默認有以下元素,順序有一定的依據,假設是按下載次數排列。
$rows = array(
array('name'=>'QQ2010'),
array('name'=>'QQ2009'),
array('name'=>'迅雷5'),
array('name'=>'飛信2010'),
array('name'=>'Kugoo2010'),
array('name'=>'TTplayer'),
array('name'=>'Firefox4.0'),
array('name'=>'美圖秀秀'),
array('name'=>'360safe'),
array('name'=>'Chrome6')
);
如果有一個客戶[可牛殺毒]想買花10元/元下我們第二個位置,可以大家想,直接把QQ2009替換掉不就完事了嗎。不,那樣的話用戶體驗並不好,明明QQ2009是一個下載次數比較多的軟體,為什麼在列表中卻沒有了呢。
其實我們真正的需求是把QQ2009以下的單元都往後推,騰出第二個位置來給[可牛殺毒]。如果頁面中只能顯示10個單元,那倒霉的就是[Chrome6]了,誰叫他們付費買我們的位置呢,呵呵。
再說到程序原理上來吧,PHP要實現這個需求,挺簡單,用數組函數array_splice就可以了,具體用法參照PHP手冊。
給一個完整的例子吧:
<?php
$rows = array(
array('name'=>'QQ2010',),
array('name'=>'QQ2009',),
array('name'=>'迅雷5',),
array('name'=>'飛信2010',),
array('name'=>'Kugoo2010',),
array('name'=>'TTplayer',),
array('name'=>'Firefox4.0',),
array('name'=>'美圖秀秀',),
array('name'=>'360safe',),
array('name'=>'Chrome6',),
);
$pop = array(
'2'=>array('name'=>'可牛殺毒'),
'5'=>array('name'=>'金山詞霸2010'),
);
foreach($pop as $key=>$p){
array_splice($rows, $key-1, 0, array($p));
}
var_mp($rows);
?>
最近的結果是:
array(12) {
[0]=>
array(1) {
["name"]=>
string(6) "QQ2010"
}
[1]=>
array(1) {
["name"]=>
string(8) "可牛殺毒"
}
[2]=>
array(1) {
["name"]=>
string(6) "QQ2009"
}
[3]=>
array(1) {
["name"]=>
string(5) "迅雷5"
}
[4]=>
array(1) {
["name"]=>
string(12) "金山詞霸2010"
}
[5]=>
array(1) {
["name"]=>
string(8) "飛信2010"
}
[6]=>
array(1) {
["name"]=>
string(9) "Kugoo2010"
}
[7]=>
array(1) {
["name"]=>
string(8) "TTplayer"
}
[8]=>
array(1) {
["name"]=>
string(10) "Firefox4.0"
}
[9]=>
array(1) {
["name"]=>
string(8) "美圖秀秀"
}
[10]=>
array(1) {
["name"]=>
string(7) "360safe"
}
[11]=>
array(1) {
["name"]=>
string(7) "Chrome6"
}
}
⑵ php 如何將GIF動態圖像縮放成指定大小後依舊保持動態
此js代碼來自網路logo的處理,還是很好用的,需要注意的地方就是proMaxHeight,proMaxWidth參數的動態獲取,你可以直接用php賦值,或者用smartyphplib之類的模板,這個不難
<htmlxmlns="http://www.w3.org/1999/xhtml"xml:lang="zh-CN"lang="zh-CN">
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312"/>
<title>test</title>
<scriptlanguage=Javascript>
varproMaxHeight=50;
varproMaxWidth=50;
functionproDownImage(ImgD){
varimage=newImage();
image.src=ImgD.src;
if(image.width>0&&image.height>0){
varrate=(proMaxWidth/image.width<proMaxHeight/image.height)?proMaxWidth/image.width:proMaxHeight/image.height;
if(rate<=1){
ImgD.width=image.width*rate;
ImgD.height=image.height*rate;
}
else{
ImgD.width=image.width;
ImgD.height=image.height;
}
}
}
//-->
</script>
</head>
<bodybgcolor="#ffffff"topmargin="0"leftmargin="0"scroll="no">
<imgsrc="./pp.gif"onload=proDownImage(this);/>
</body>
</html>
⑶ 電腦上如何編輯圖片
電腦上編輯圖片可以使用美圖秀秀或者Photoshop軟體。
使用方法:
1、首先在打開的Photoshop程序中點擊左上角的「文件」選項,並點擊其中的「打開」按鈕。