问题列表 - 第11566页

我应该在哪里使用isset()和!empty()

我读到isset()函数处理空字符串的某处TRUE,因此isset()不是从HTML表单验证文本输入和文本框的有效方法.

因此,您可以empty()用来检查用户输入的内容.

  1. isset()函数是否将空字符串视为TRUE

  2. 那我应该在哪些情况下使用isset()?我应该总是!empty()用来检查是否有东西?

例如,而不是

if(isset($_GET['gender']))...
Run Code Online (Sandbox Code Playgroud)

用这个

if(!empty($_GET['gender']))...
Run Code Online (Sandbox Code Playgroud)

php isset

95
推荐指数
7
解决办法
8万
查看次数

java和python相当于php的foreach($ array as $ key => $ value)

在php中,可以使用关联数组处理状态名称列表及其缩写,如下所示:

<?php
    $stateArray = array(
        "ALABAMA"=>"AL",
        "ALASKA"=>"AK",
        // etc...
        "WYOMING"=>"WY"
    );

    foreach ($stateArray as $stateName => $stateAbbreviation){
        print "The abbreviation for $stateName is $stateAbbreviation.\n\n";
    }
?>
Run Code Online (Sandbox Code Playgroud)

输出(保留密钥顺序):

The abbreviation for ALABAMA is AL.

The abbreviation for ALASKA is AK.

The abbreviation for WYOMING is WY.
Run Code Online (Sandbox Code Playgroud)

编辑:请注意,数组元素的顺序保留在php版本的输出中.使用HashMap的Java实现不保证元素的顺序.Python中的字典也不是.

这是如何在java和python中完成的?我只找到提供价值的方法,给定密钥,如python:

stateDict = {
    "ALASKA": "AK",
    "WYOMING": "WY",
}

for key in stateDict:
    value = stateDict[key]
Run Code Online (Sandbox Code Playgroud)

编辑:基于答案,这是我在python中的解决方案,

# a list of two-tuples
stateList = [
    ('ALABAMA', 'AL'),
    ('ALASKA', 'AK'),
    ('WISCONSIN', 'WI'),
    ('WYOMING', 'WY'),
] …
Run Code Online (Sandbox Code Playgroud)

php python java associative-array

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

如果通过合同进行设计,除了成员函数中的不变量之外还需要先决条件和后置条件吗?

据我所知,在DbC方法中,前置条件和后置条件附加到函数中.

我想知道的是,这是否也适用于成员函数.

例如,假设我在每个公共函数末尾的开头使用不变量,成员函数将如下所示:

编辑:(清理我的例子)

void Charcoal::LightOnFire() {
  invariant();
  in_LightOnFire();

  StartBurning();    
  m_Status = STATUS_BURNING;
  m_Color = 0xCCCCCC;

  return; // last return in body

  out_LightOnFire();
  invariant();
}

inline void Charcoal::in_LightOnFire() {
  #ifndef _RELEASE_
  assert (m_Status == STATUS_UNLIT);
  assert (m_OnTheGrill == true);
  assert (m_DousedInLighterFluid == true);
  #endif
}

inline void Charcoal::out_LightOnFire() {
  #ifndef _RELEASE_
  assert(m_Status == STATUS_BURNING);
  assert(m_Color == 0xCCCCCC);
  #endif
}

// class invariant
inline void Charcoal::invariant() {
  assert(m_Status == STATUS_UNLIT || m_Status == STATUS_BURNING || m_Status == STATUS_ASHY);
  assert(m_Color == 0x000000 …
Run Code Online (Sandbox Code Playgroud)

design-by-contract invariants member-functions preconditions

4
推荐指数
2
解决办法
1821
查看次数

Shell:SVN状态管道到php来检查语法

我知道这很简单,但我无法弄明白.

我有一堆由"svn st"输出的文件,我希望php在命令行上进行语法检查.

这将输出文件列表:svn st | awk'{print $ 2}'

这会检查一个php脚本:php -l somefile.php

但是这个或者变体不起作用:svn st | php -l'{print $ 2}'

有任何想法吗?谢谢!

php svn bash shell pipe

2
推荐指数
1
解决办法
779
查看次数

什么时候应该或不应该使用泛型类型约束?

我有一个基类:

public abstract class StuffBase
{
    public abstract void DoSomething();
}
Run Code Online (Sandbox Code Playgroud)

还有两个派生类

public class Stuff1 : StuffBase
{
    public void DoSomething()
    {
        Console.WriteLine("Stuff 1 did something cool!");
    }
    public Stuff1()
    {
        Console.WriteLine("New stuff 1 reporting for duty!");
    }
}

public class Stuff2 : StuffBase
{
    public void DoSomething()
    {
        Console.WriteLine("Stuff 2 did something cool!");
    }
    public Stuff1()
    {
        Console.WriteLine("New stuff 2 reporting for duty!");
    }
}
Run Code Online (Sandbox Code Playgroud)

好的,现在说我有一个项目列表:

var items = new List<StuffBase>();
items.Add(new Stuff1());
items.Add(new Stuff2());
Run Code Online (Sandbox Code Playgroud)

我希望他们都能调用他们的DoSomething()方法.我可以期望只是迭代列表并调用他们的DoSomething()方法,所以让我们说我有一个方法来做这个叫做AllDoSomething()的方法只是遍历列表并完成工作:

public static void …
Run Code Online (Sandbox Code Playgroud)

c# generics type-constraints c#-2.0

2
推荐指数
1
解决办法
602
查看次数

Objective C版本,自动释放和数据类型

我是内存托管代码的新手,但我很清楚这个想法.

在我的应用程序通过XCode中的泄漏工具,我注意到我只需要清理我的自定义对象,但不是动态创建的数组,所以我认为这些数据类型是自动释放的 - 这是有意义的,因为我只需要释放数组我用作具有(保留)它们的属性.

然后我注意到一些奇怪的事情:我在某个初始化的数组上得到了泄漏:

NSMutableArray *removals = [NSMutableArray new];
Run Code Online (Sandbox Code Playgroud)

但不是类似的

NSMutableArray *removals = [NSMutableArray arrayWithCapacity:9];
Run Code Online (Sandbox Code Playgroud)

现在,一个用"new"设置的原因是它可能有0-99个项目,而另一个我知道它总是9个.因为两个数组后来都根据用户传递给同一个方法互动,如果我没有在方法结束时发布,或者如果我做了,则要么是泄漏!

我将第一个数组更改为

NSMutableArray *removals = [NSMutableArray arrayWithCapacity:99];
Run Code Online (Sandbox Code Playgroud)

我没有泄漏,也没有发布任何东西.谁能解释一下?

iphone xcode release objective-c retain

25
推荐指数
2
解决办法
4万
查看次数

将Webkit渲染为GL纹理

我正在寻找一种可移植的,尽可能少的hackish-as-possible方式将WebKit渲染到纹理中,并将事件注入到纹理中.能够覆盖UI元素(文本框,按钮,滚动条)主题的加分点.能够渲染到SDL表面的额外奖励点.总的来说,我希望能够抓住一个RGBA像素字节数组并随意使用它.浏览器不应该运行,它应该都在游戏中完成.

这绝不应取决于平台,并且应与开发专有和无DFGS软件兼容.

opengl webkit

6
推荐指数
1
解决办法
9351
查看次数

存储过程的模式?

是否有任何用于编写存储过程的模式?喜欢:

  1. 我们应该写1个Sp用于更新,1个用于插入,1个用于每个表的选择.
  2. 什么时候创建视图很好.
  3. 如何在SP中管理业务规则?
  4. 如何减少重复代码等.

任何关于这些模式的好文章或书籍......

谢谢

sql t-sql database stored-procedures

5
推荐指数
1
解决办法
1022
查看次数

群发邮件跟踪

今天在线提供的大多数服务声称"跟踪"电子邮件,通过在电子邮件中嵌入图像来实现.我的问题是:

  1. 这是唯一的方法,如果没有,其他方法是什么?
  2. 这些方法真的是万无一失吗?
  3. 有没有人对特定软件甚至是在线组有运气?

email tracking

27
推荐指数
3
解决办法
1万
查看次数

Linq to sql导致外键约束错误

这是重要的代码.

       TournamentTeam newTeam = new TournamentTeam();
        TournamentTeams.InsertOnSubmit(newTeam);
        SubmitChanges();

        TournamentParticipant newSignup = new TournamentParticipant
        {
            CheckedIn = false,
            TournamentID = tournamentId,
            UserID = participant.UserID,
            TeamID = newTeam.TeamId
        };

        TournamentParticipants.InsertOnSubmit(newSignup);
        SubmitChanges();
Run Code Online (Sandbox Code Playgroud)

TournamentParticipants.TeamId在TournamentTeam.TeamID上有一个fk关系,TeamID是一个标识列

我不明白的是,当TournamentTeam获得插入时,它会获取新的身份值.即使我调试代码,新的注册也会收到新的团队ID.但是当涉及到生成插入时,它完全避免了这个值,并在select语句之前插入,它抓取了新的标识列.

exec sp_executesql N'INSERT INTO [dbo].[TournamentParticipants]([UserID], [TournamentID], [CheckedIn]) VALUES (@p0, @p1, @p2)

SELECT [t0].[TeamID] FROM [dbo].[TournamentParticipants] AS [t0] WHERE ([t0].[UserID] = @p3) AND ([t0].[TournamentID] = @p4)',N'@p0 int,@p1 int,@p2 bit,@p3 int,@p4 int',@p0=29805,@p1=247,@p2=0,@p3=29805,@p4=247
Run Code Online (Sandbox Code Playgroud)

如何让linq to sql使用我指定的团队id的值,或者在insert语句之前生成select语句?

foreign-keys foreign-key-relationship linq-to-sql

1
推荐指数
1
解决办法
3641
查看次数