我正在为我的项目中的消息搜索操作,这里有两个模型:Msgcontent和Msgblock.Relationship是Msgblock hasMany Msgcontent.我想要做的是获取包含Msgcontent的所有Msgblock记录和一些搜索关键字.我代码如下:
if($keyword)
{
$conditions['and'] = array(
'Msgcontent.content LIKE'=>'%'.$keyword.'%',
'Msgcontent.content <>'=>''
);
$results = $this->Msgblock->Msgcontent->find('all',array('group'=>array('Msgblock.chatsessionid'),'conditions'=>$conditions));
}
Run Code Online (Sandbox Code Playgroud)
这似乎不是一个好工作.有没有更好的解决方案?谢谢.
我发现当我不需要使用时,我已经被这个问题搞糊涂了try..except.过去几天它几乎用在我定义的每个函数中,我认为这可能是一个不好的做法.例如:
class mongodb(object):
def getRecords(self,tname,conditions=''):
try:
col = eval("self.db.%s" %tname)
recs = col.find(condition)
return recs
except Exception,e:
#here make some error log with e.message
Run Code Online (Sandbox Code Playgroud)
我的想法是,到处可以提出异常,我必须用它try来获取它们.我的问题是,在定义函数时到处使用它是一个好习惯吗?如果不是有任何原则吗?帮助将不胜感激!
问候
我认为我已经足够了解字符串运算符 .,直到我今天被问到有关它的问题.问题看起来很简单:
echo 100...100;
Run Code Online (Sandbox Code Playgroud)
乍一看,我认为它会导致语法错误.但是当我运行代码并看到结果时,我完全感到困惑.结果是
1000.1
Run Code Online (Sandbox Code Playgroud)
所以我想知道这怎么可能发生?
谢谢.
这是代码:
$arraya = array('a','b','c');
foreach($arraya as $key=>$value)
{
if($value == 'b')
{
$arraya[] = 'd';
//print_r($arraya); //$arraya now becomes array('a','b','c','d')
}
echo $key.' is '.$value."\n";
}
Run Code Online (Sandbox Code Playgroud)
它会得到:
0 is a
1 is b
2 is c
Run Code Online (Sandbox Code Playgroud)
我想知道为什么3 is d不出现?
我已经做了近一年的PHP东西,eval()虽然我知道它的用法,但我从未使用过该函数.但是我在SO中发现了很多关于它的问题.所以有人能告诉我一个简单的例子,它有必要使用eval()吗?这是一个好的或坏的做法?
在下载之前我需要弄清楚远程文件的大小.我知道在本地这可以通过以下方式完成
var _filePath:String = "X:/save/abc.exe";
var file:File = new File(_filePath);
if (file.size > 1000)
{
trace("too large");
}
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试像你这样的远程文件
var _filePath:String = "http://www.aaa.com/webfile.exe";
它不起作用.如何在使用之前获取远程文件的大小
var _downLoadPath:String = "http://www.aaa.com/webfile.exe";
Run Code Online (Sandbox Code Playgroud)
谢谢!
有人可以告诉我为什么我不能写如下的课程
<?php
class Foo
{
?>
<?php
function bar() {
print "bar";
}
}
?>
Run Code Online (Sandbox Code Playgroud)
我认为它是一样的
<?php
class Foo
{
function bar() {
print "bar";
}
}
?>
Run Code Online (Sandbox Code Playgroud) 现在我正在尝试打开一系列网址 window.open
for(i=0;i<10;i++)
{
window.open("myapp://arg1/arg2/arg3/number_"+i);
}
Run Code Online (Sandbox Code Playgroud)
它工作正常,除了弹出十个窗口.我想知道有没有办法做这个工作与未显示的窗口?帮助将不胜感激!
当我读取CodeIgniter的代码时,我发现一些函数编写如下:
function &get_instance()
{
global $CI, $OBJ;
if (is_object($CI))
{
return $CI;
}
return $OBJ->load;
}
Run Code Online (Sandbox Code Playgroud)
我可以理解变量引用,但我很难理解这一点.是否有必要使用这种函数风格?还有什么好处?
谢谢.
待指定:
function getLength($str)
{
//function i need
}
$str1 = 'aabbcccc';
$str2 = 'aabbccccaaaaa';
echo getLength($str1); //will get 4
echo getLength($str2); //will get 5
Run Code Online (Sandbox Code Playgroud)
有什么好主意吗?
当我尝试使用以下代码查找某些字符时出现问题:
$str = "??????????Q??,??q??287?7?1??7?,??63??????,?1??hell????o?w??or?d!??????????????? | ??????EXCEL";
preg_match_all('/[\w\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A]/',$str,$match); //line 5
print_r($match);
Run Code Online (Sandbox Code Playgroud)
我收到的错误如下:
Warning: preg_match_all() [function.preg-match-all]: Compilation failed: PCRE does not support \L, \l, \N, \U, or \u at offset 4 in E:\mycake\app\webroot\re.php on line 5
Run Code Online (Sandbox Code Playgroud)
我对reg表达并不熟悉,也不知道这个错误.我怎么能解决这个问题?谢谢.