我确信对此有一个非常简单的解释.这有什么区别:
function barber($type){
echo "You wanted a $type haircut, no problem\n";
}
call_user_func('barber', "mushroom");
call_user_func('barber', "shave");
Run Code Online (Sandbox Code Playgroud)
......这个(有什么好处?):
function barber($type){
echo "You wanted a $type haircut, no problem\n";
}
barber('mushroom');
barber('shave');
Run Code Online (Sandbox Code Playgroud) 灯泡尚未继续......
我真的很喜欢一个易于理解的解释,在php中使用一个类而不仅仅是使用函数.
这是我现在想到的一个简单的例子,我想知道一个班级是否更有效率:
假设我有一个我用PHP构建的迷你日历小部件.我在考虑调用这个函数miniCal('arrayVars1', 'var2').但我可能会在那个页面上做两次.通过在这里使用类来使用更少的资源,创建它的新实例?
我应该在这里吠叫什么树,因为我觉得现在这棵树是一堵砖墙......
我想做这样的事情:
SELECT table.id AS prefix_id, table.name AS prefix_name
Run Code Online (Sandbox Code Playgroud)
...并且将前缀动态添加到所有字段名称,而不是手动选择它们(即SELECT table.* AS prefix_*等等)
希望我已经准确地描述了这一点.有什么想法吗?
编辑
要清楚,我要问的原因是确保我的查询结果包含我调用的每个表中的每一列,即使存在重复的字段名称.例如,我可能有一个包含大量字段的表,这意味着我不想手动为所有字段设置别名.此外,如果3个表有一个名为namemy result 的字段,则不会包含三个name结果; 它会有一个.我想避免使用我的列名来模糊.
http://www.thebraproject.com/collection
如果你向后滑动晾衣绳,每三件物品就会在没有完成弹性动画的情况下停止.任何人都可以看到为什么会发生这种情况?
我正在使用AnythingSlider for jQuery来使其工作.
数据库结构:
id galleryId type file_name description
1 `artists_2010-01-15_7c1ec` `image` `band602.jpg` `Red Umbrella Promo`
2 `artists_2010-01-15_7c1ec` `image` `nov7.jpg` `CD Release Party`
3 `artists_2010-01-15_7c1ec` `video` `band.flv` `Presskit`
Run Code Online (Sandbox Code Playgroud)
我要为应用程序的一个部分提取图像,在另一个部分提取视频等.为每个部分制作多个mysql查询是否更好:
$query = mysql_query("SELECT * FROM galleries WHERE galleryId='$galleryId' && type='image');
Run Code Online (Sandbox Code Playgroud)
...或者我应该构建一个关联数组,只要我需要使用结果集,就一遍又一遍地遍历数组?
谢谢你的想法.
我正在使用这个jQuery urlencode和urldecode插件 - 非常简单易用,但它没有以其原始形式+从字符串中删除.主页上的一条评论提示补丁,但我不知道如何实现它.谁能帮我吗?
页面:http://www.digitalbart.com/jquery-and-urlencode/
//URL Encode/Decode
$.extend({URLEncode:function(c){var o='';var x=0;c=c.toString();
var r=/(^[a-zA-Z0-9_.]*)/;
while(x<c.length){var m=r.exec(c.substr(x));
if(m!=null && m.length>1 && m[1]!=''){o+=m[1];x+=m[1].length;
}else{if(c[x]==' ')o+='+';else{var d=c.charCodeAt(x);var h=d.toString(16);
o+='%'+(h.length<2?'0':'')+h.toUpperCase();}x++;}}return o;},
URLDecode:function(s){var o=s;var binVal,t;var r=/(%[^%]{2})/;
while((m=r.exec(o))!=null && m.length>1 && m[1]!=''){
b=parseInt(m[1].substr(1),16);
t=String.fromCharCode(b);o=o.replace(m[1],t);}return o;}
});
Run Code Online (Sandbox Code Playgroud)
拟议的补丁:
function dummy_url_decode(url) {
// fixed -- + char decodes to space char
var o = url;
var binVal, t, b;
var r = /(%[^%]{2}|\+)/;
while ((m = r.exec(o)) != null && m.length > 1 && m[1] …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用.live()设置CSS样式.CSS功能:
$(".data tr:odd").addClass("evenrows");
Run Code Online (Sandbox Code Playgroud)
有没有办法在文档就绪时自动发生,但仍然会在未来的元素中发生?我在页面上有一个重新排序表的ajax事件.我需要这些新创建的行来应用.addClass.
提前致谢.
有人能告诉我如何安装吗?我去这里:http://api.jquery.com/browser/并点击立即安装按钮.之后它会显示"下载并打开AIR文件以开始安装".我安装了AIR,但无法确定API浏览器的文件位置.
我肯定错过了一些明显的东西......
我正在使用完美的PHP清理网址生成器来清理一些上传脚本的文件名(以及在其他地方清理我的永久链接).我如何修改它以允许.如果函数看起来像这样:
setlocale(LC_ALL, 'en_US.UTF8');
function toAscii($str, $replace=array(), $delimiter='-', $exception = '') {
if( !empty($replace) ) {
$str = str_replace((array)$replace, ' ', $str);
}
$clean = iconv('UTF-8', 'ASCII//TRANSLIT', $str);
$clean = preg_replace("/[^a-zA-Z0-9\/_|+ -]/", '', $clean);
$clean = strtolower(trim($clean, '-'));
$clean = preg_replace("/[\/_|+ -]+/", $delimiter, $clean);
return $clean;
}
Run Code Online (Sandbox Code Playgroud)
提前致谢.
编辑稍微修改了函数以反映我的实际用法 - 抱歉.
有人可以给我一个例子,当ajax表动态生成所有信息时,如何向列添加nowrap ="nowrap"吗?
$('#results').dataTable({
"fnRowCallback": function( nRow, aData, iDisplayIndex ) {
$(nRow).attr('id', aData[0]);
return nRow;
},
"bAutoWidth": false,
"sPaginationType": "full_numbers",
"bProcessing": true,
"sAjaxSource": 'ajax/purchasers.php',
"aaSorting": [[1,'asc']],
"aoColumns": [
{ "bVisible": false },
null,
null,
null,
null,
null,
null,
null
]
});
Run Code Online (Sandbox Code Playgroud)
我知道这可能是一个长镜头.提前致谢.
任何人都可以告诉我为什么这会在Safari中而不是在Firefox中生成语法错误?
toggle = function(){
$("#type_new").hide();
$("a[class^='toggle']").unbind('click').click(function(){
$.class = $(this).attr("class");
if($(":input."+$.class+".text").is(':visible')==true) $(this).find("small").html("Add New Type"); else $(this).find("small").html("Choose From Exisiting Types");
$(":input."+$.class+".select").toggle();
$(":input."+$.class+".text").toggle().val("");
});
};
Run Code Online (Sandbox Code Playgroud)
错误来自:
$ .class = $(this).attr("class");
任何简化也是受欢迎的.这在firefox中运行得很好.另外你可能会问为什么它如此复杂,但有时我会在页面上有多个这样的,所以我需要函数来知道要处理哪一个.
谢谢.
这是我的功能:
function loop($id){
unset($result, $sql, $query);
$sql = " SELECT parent_id FROM page_entries WHERE id = '$id' ";
$query = mysql_query ( $sql )or die(mysql_error());
$result = mysql_fetch_assoc ( $query )or die(mysql_error());
if ( $result['parent_id'] != 0 ) {
echo $result['parent_id']."... looping<br>";
loop($result['parent_id']);
} else {
echo $result['parent_id']."... done loop";
return $result['parent_id'];
}
}
echo loop('2');
Run Code Online (Sandbox Code Playgroud)
我正在回应parent_id进行测试.这是输出到浏览器的内容:
1 ...循环
0 ...完成循环
在我不确定发生了什么的情况下echo loop('2'),return $result['id']如果我注释掉echo函数中的行,则不会回应任何内容.我已经尝试通过改变返回来测试,但return 'foo';仍然没有.
有任何想法吗?
jquery ×6
php ×5
function ×3
mysql ×2
adobe ×1
air ×1
api ×1
class ×1
datatables ×1
foreach ×1
javascript ×1
nested-loops ×1
preg-replace ×1
regex ×1
safari ×1
urldecode ×1
urlencode ×1