小编Dan*_*ugg的帖子

为什么要检查isset()和!empty()

有没有之间的差异isset!empty.如果我做这个双布尔检查,这种方式是正确的还是多余的?有没有更短的方法来做同样的事情?

isset($vars[1]) AND !empty($vars[1])
Run Code Online (Sandbox Code Playgroud)

php

254
推荐指数
5
解决办法
20万
查看次数

如何将具有相同类型项目的列表列表合并到单个项目列表中?

问题很混乱,但如下面的代码所述,它更加清晰:

   List<List<T>> listOfList;
   // add three lists of List<T> to listOfList, for example
   /* listOfList = new {
        { 1, 2, 3}, // list 1 of 1, 3, and 3
        { 4, 5, 6}, // list 2
        { 7, 8, 9}  // list 3
        };
   */
   List<T> list = null;
   // how to merger all the items in listOfList to list?
   // { 1, 2, 3, 4, 5, 6, 7, 8, 9 } // one list
   // list = ??? …
Run Code Online (Sandbox Code Playgroud)

c# linq lambda

190
推荐指数
4
解决办法
8万
查看次数

如何获取对象的不合格(短)类名?

如何在PHP名称间隔环境中检查对象的类,而不指定完整的命名空间类.

例如,假设我有一个对象库/实体/合同/名称.

以下代码不起作用,因为get_class返回完整的命名空间类.

If(get_class($object) == 'Name') {
... do this ...
}
Run Code Online (Sandbox Code Playgroud)

namespace magic关键字返回当前命名空间,如果测试对象具有另一个命名空间,则该命名空间无效.

我可以简单地用命名空间指定完整的类名,但这似乎锁定了代码的结构.如果我想动态更改名称空间,也没什么用处.

任何人都可以想到一个有效的方法来做到这一点.我猜一个选项是正则表达式.

php namespaces class

138
推荐指数
11
解决办法
9万
查看次数

将PHP对象序列化为JSON

所以当我偶然发现新的JsonSerializable接口时,我在php.net上闲逛,了解有关将PHP对象序列化为JSON的信息.它只有PHP> = 5.4,而且我在5.3.x环境中运行.

这种功能如何实现PHP <5.4

我还没有使用JSON,但是我正在尝试在应用程序中支持API层,并且将数据对象(否则将被发送到视图)转储到JSON中将是完美的.

如果我尝试直接序列化对象,它会返回一个空的JSON字符串; 这是因为我认为json_encode()不知道该对象究竟做了什么.应予递归降低对象到一个数组,然后编码


$data = new Mf_Data();
$data->foo->bar['hello'] = 'world';
Run Code Online (Sandbox Code Playgroud)

echo json_encode($data) 产生一个空对象:

{}
Run Code Online (Sandbox Code Playgroud)

var_dump($data) 但是,按预期工作:

object(Mf_Data)#1 (5) {
  ["_values":"Mf_Data":private]=>
  array(0) {
  }
  ["_children":"Mf_Data":private]=>
  array(1) {
    [0]=>
    array(1) {
      ["foo"]=>
      object(Mf_Data)#2 (5) {
        ["_values":"Mf_Data":private]=>
        array(0) {
        }
        ["_children":"Mf_Data":private]=>
        array(1) {
          [0]=>
          array(1) {
            ["bar"]=>
            object(Mf_Data)#3 (5) {
              ["_values":"Mf_Data":private]=>
              array(1) {
                [0]=>
                array(1) {
                  ["hello"]=>
                  string(5) "world"
                }
              }
              ["_children":"Mf_Data":private]=>
              array(0) …
Run Code Online (Sandbox Code Playgroud)

php json object object-serialization

100
推荐指数
5
解决办法
15万
查看次数

LINQ Ring:任何()vs Contains()用于巨大的集合

鉴于对象的大量集合,以下是否存在性能差异?

Collection.Contains:

myCollection.Contains(myElement)
Run Code Online (Sandbox Code Playgroud)

Enumerable.Any:

myCollection.Any(currentElement => currentElement == myElement)
Run Code Online (Sandbox Code Playgroud)

c# linq performance benchmarking

97
推荐指数
2
解决办法
5万
查看次数

结构与课程

我即将在代码中创建100,000个对象.它们很小,只有2或3个属性.我将它们放在一个通用列表中,当它们存在时,我将循环它们并检查值a并可能更新值b.

将这些对象创建为类还是结构更快/更好?

编辑

一个.属性是值类型(我认为字符串除外?)

湾 他们可能(我们还不确定)有一个验证方法

编辑2

我想知道:堆上的对象和堆栈是否由垃圾收集器同等处理,或者它的工作方式有何不同?

c# struct

89
推荐指数
4
解决办法
6万
查看次数

RESTful API方法; 头和选项

我正在写一个RESTful API模块在PHP的应用程序,并且我对动词有点混合HEADOPTIONS.

  • OPTIONS  用于检索给定资源的可用HTTP谓词?
  • HEAD 用于确定给定资源是否可用?

如果有人能澄清*这些动词,那将非常感激.

*澄清是关于重新使用HTTP谓词的RESTful API架构.我既然来实现这两个HEADOPTIONS被重新利用,而是表现可以预见任何HTTP应用程序应该.哦,我们如何在2年内成长.

php api rest http

82
推荐指数
3
解决办法
7万
查看次数

C中的头文件和源文件如何工作?

我仔细研究了可能的副本,但是没有任何答案在沉没.

tl; dr:源文件和头文件是如何相关的C?项目是否在构建时隐式地整理声明/定义依赖项?

我试图理解编译器如何理解.c.h文件之间的关系.

鉴于这些文件:

header.h:

int returnSeven(void);
Run Code Online (Sandbox Code Playgroud)

source.c:

int returnSeven(void){
    return 7;
}
Run Code Online (Sandbox Code Playgroud)

main.c:

#include <stdio.h>
#include <stdlib.h>
#include "header.h"
int main(void){
    printf("%d", returnSeven());
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这个混乱会编译吗?我目前正在使用Cygwin的gccNetBeans 7.0中完成我的工作,它可以自动执行大部分构建任务.编译项目时,涉及的项目文件是否根据声明中的隐含包含?source.cheader.h

c compilation header-files

51
推荐指数
4
解决办法
6万
查看次数

CSS流体柱,固定边距; 圣杯的圣杯

更新和摘要

我觉得有义务让这个问题更清楚,因为现在有一个赏金.

(另外,我很确定当calc()支持CSS3单元值时,这将是孩子的游戏,做类似的事情width: calc(25% - 5px);虽然我们可能会在那时在我们的脑海中浏览互联网)

我正在为一些共享设计要求的项目开发一个CSS框架; 即流体12列布局.使用.column百分比宽度为的浮动元素(100% / 12) x col_size,这相当容易.但是,问题在于在列之间添加固定边距(或任何形式的间距).

我最初的尝试使用了所描述的流体柱.panel,每个都嵌套了一个子.下面是HTML/CSS代码段(为简洁起见):

.column{
    float: left;
    display: inline-block;
}

.width-01{ width:  8.3333%; }
.width-02{ width: 16.6666%; }
.width-03{ width:      25%; }
/* etc */

.panel{
    width: 100%;
    padding: 5px;
    box-sizing: border-box; /* so padding doesn't increase width */
}
Run Code Online (Sandbox Code Playgroud)
<div class="column width-02">
    <div class="panel">Width-02</div>
</div>
<div class="column width-03">
    <div class="panel">Width-03</div>
</div>
<div class="column width-02"> …
Run Code Online (Sandbox Code Playgroud)

html css fluid-layout

48
推荐指数
3
解决办法
2万
查看次数

在PHP中返回关联数组的第一个键

我试图array_keys()通过引用来获取关联数组的第一个键,而不创建临时变量等.不幸的是,reset()并且array_shift()通过引用获取数组参数,因此似乎都不是可行的结果.

用PHP 5.4我将在天堂; array_keys($array)[0];,但不幸的是,这当然也不是一种选择.

我可以创建一个函数来实现这个目的,但我只能想象有一些PHP的array_*函数可以在单个语句中产生所需的结果,这是我想不到的或者想出来的.

所以:

$array = array('foo' => 'bar', 'hello' => 'world');

$firstKey = assorted_functions($array); // $firstKey = 'foo'
Run Code Online (Sandbox Code Playgroud)

在我的问题中"无参考"条款的原因只是因为我认为array_keys()是必需的(如果有一种方式通过参考,请消防)

我会使用key(),但这需要一个,reset()因为我不确定此操作时指针的位置.


附录

我正在跟进我最近的一个实现:正如我在评论中提到的,它将使用相同的内存,所以如果这是一个问题,这个问题没有解决方案.

$a = range(0,99999);
var_dump(memory_get_peak_usage()); // int(8644416)
$k = array_keys($a)[0];
var_dump(memory_get_peak_usage()); // int(17168824)
Run Code Online (Sandbox Code Playgroud)

知道这一点,因为PHP没有这样的优化功能,但认为有必要明确提及.

接受的答案的简洁性很好,如果你正在使用合理大小的数组,那么它们就可以工作了.

php arrays associative-array key

36
推荐指数
2
解决办法
8万
查看次数