參考: https://www.cnblogs.com/jiqing9006/p/5000849.html
https://blog.csdn.net/zengxiangxuan123456/article/details/51203651
javascript
$this->ajaxReturn($result, 'json')
返回的數據 已經 是 一個 js的對象了.select 的返回結果是 一個數組, 這個數組的每一個元素都是一個 js對象.php
因此 返回的是 $result 是一個 js的對象 組成的 js數組. 並且 下標是 0, 1, 2,...html
Easyui中使用jquery或js動態添加元素時出現的樣式失效的解決方法 可使用$.parser.parse();這個方法進行處理; $.parser.parse(); 表示對整個頁面從新渲染,渲染完就能夠看到easyui原來的樣式了; var targetObj = $("<input name='mydate' class='easyui-datebox'>").appendTo("#id"); $.parser.parse(targetObj); 表示從新渲染某個特定的組件。
意思是: 語法錯誤: 缺乏 形式參數. formal: 莊重的, 正式的; 正式場合的; 形式的, 外形的(形參: formal parameter)java
var cxstr=' some content....; for(var i=0; i<rt.length; i++){ cxstr += '<a class="detail" style="text-decoration: none;" href="javascript: void(0)" onclick="detail('+i+')"><span class="glyphicon glyphicon-menu-right"></span> 詳情</a>'; cxstr += '<div id="detail" style="display: none; margin-left: 16px;padding-top:8px;">\ 注意這種複雜字符串的換行寫法 <table class="table table-striped table-bordered table-hover">\ <tr> <td>001</td> <td>001</td> <td>001</td> <td>001</td> </tr>\ <tr> <td>002</td> <td>002</td> <td>002</td> <td>002</td> </tr>\ <tr> <td>003</td> <td>003</td> <td>003</td> <td>003</td> </tr>\ <tr> <td>004</td> <td>004</td> <td>004</td> <td>004</td> </tr>\ <tr> <td>005</td> <td>005</td> <td>005</td> <td>005</td> </tr>\ </table>\ </div>'; cxstr += '<hr></div>' } $('div#cx').html(cxstr); } function detail(i){ $('a.detail').each(function(index){ if(index == i){ $(this).next().toggle(); $(this).children().toggleClass('glyphicon-menu-right').toggleClass('glyphicon-menu-down'); return false; } });
M('user') ->... -> group('user_id') -> select();
, 分組group是連貫操做. 參數只能是 字符串.
特別注意的是: 分組操做, 只會 返回惟一的 一條記錄: 是 這個分組中 全部記錄中的 第一條 記錄. 因此, 即便在 這個 分組中 包含多條記錄, 也只能 獲得 第一條記錄.
所以, 正由於這個特性, 因此 分組 操做一般不以 獲得原始記錄 數據 爲 目的, 而是 以 獲得 統計 數據如 某一組中的 最大值/最小值/平均值 爲 目的.jquery
子查詢, 也叫 嵌套查詢c++
..... from (select .... from ....) sub_table ....
select sth... from (select .... from ....) sub_table ....
.... inner join (select ... from ...) sub_table on .....
參考: https://my.oschina.net/u/1260221/blog/3051394
ajax
===============================編程
array_diff($arr1, $arr2);
就行了https://blog.csdn.net/neddiepeng/article/details/85246085
array_splice($原數組, 刪除開始start, 刪除長度length, $用來替換的數組)
unset($result[$i])
的陷阱, 仍是用 array_intersect, array_diff(diff 是比較 兩個/多個數組之間的區別, 那天然就是獲得 差集.
仍是 用 array_splice(膠接)
等, 都會致使 被遍歷對象的 元素減小, 而循環遍歷中, 雖然循環變量$i 只是第一次的時候初始化 一次 for(var $i=0...)
, 可是 中間的 比較計算 是 每一 次都要進行的, 並且 $i<count($result);
這個 $i是不斷再增長的, 而count($result)是不斷在減少的。所以, 當$i遍歷幾回後, 好比 $result 的元素總共只有4個的時候, 那麼就會發生 遍歷變量$i 大於 count的狀況,(當$i=2, 再增長一次$i=3的時候, count($result)就只有2了,從而退出循環) 從而剩下的 $result就不能被 徹底遍歷了。 所以, 在後面 遍歷的時候, 就會 發生數組元素下標出問題的狀況,(不是數組下標溢出, 而是根本就遍歷不到, 循環都已經退出了! ) 從而得不到你想要的結果. 參考: https://blog.csdn.net/DickyQie/article/details/79224118
, https://blog.csdn.net/fationyyk/article/details/70212184
json
======================================數組
https://blog.csdn.net/Tacks/article/details/86542333
for(var i=0 , len=arr.length; i<len; i++)....
參考: https://www.cnblogs.com/lvmh/p/6104397.html
可是, 是否是要遍歷 訪問數組或 對象的 屬性名, 則必須使用 for ...in : for(var name in arr_or_obj) {....}
function isEmptyObject(foo){for(var key in obj){ return false;) return true;}
對象的長度不能用.length獲取( length只能是對 於數組而言的 ! ),用js原生的Object.keys能夠獲取到: arr=Object.keys(obj),keys返回的是由對象的 屬性名稱 組成的數組. 而後判斷 arr的length.
tp的 ajaxReturn返回的 老是一個 由對象組成的 json 格式的 索引數組. 即便 返回的是空, 沒有內容, 也是一個 空數組, 即: "[ ]"????