小编Wis*_*guy的帖子

具有多维数组的array_diff()

使用array_diff(),我可以比较和删除类似的项目,但如果我有以下数组怎么办?

数组1

Array
(
    [0] => Array
        (
            [ITEM] => 1
        )

    [1] => Array
        (
            [ITEM] => 2
        )

    [2] => Array
        (
            [ITEM] => 3
        )
)
Run Code Online (Sandbox Code Playgroud)

ARRAY2

Array
(
    [0] => Array
        (
            [ITEM] => 2
        )

    [1] => Array
        (
            [ITEM] => 3
        )

    [2] => Array
        (
            [ITEM] => 1
        )
    [3] => Array
        (
            [ITEM] => 4
        )
)
Run Code Online (Sandbox Code Playgroud)

我想过滤掉类似的项目; 结果应该返回4.我如何重新排列我的数组,以便我可以使用array_diff()

php arrays

34
推荐指数
5
解决办法
4万
查看次数

如何测试一个数组是否是另一个数组的子集?

提供这种逻辑的最好(最干净)方法是什么?

var colors = ["red","white","blue"];

logic(colors,["red","green"]); //false
logic(colors,["red"]); //true
logic(colors,["red","purple"]); //false
logic(colors,["red","white"]); //true
logic(colors,["red","white","blue"]); //true
logic(colors,["red","white","blue","green"]); //false
logic(colors,["orange"]); //false
Run Code Online (Sandbox Code Playgroud)

可能使用underscore.js

javascript underscore.js

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

舍入到最接近的分数(一半,四分之一等)

所以,我需要创建以下函数,但是如果没有复杂的数学运算,我的脑袋就不会想到PHP的任何可能性.

  • 舍入总是达到最接近的小数(1.81 = 1.90,1.89 = 1.90,1.85 = 1.90)
  • 舍入总是下降到最接近的小数(1.81 = 1.80,1.89 = 1.80,1.85 = 1.80)
  • 始终到最接近的X.25/X.50/X.75 /×.00(1.81 = 2,1.32 = 1.50)
  • 始终至最接近的X.25/X.50/X.75 /×.00(1.81 = 1.75,1.32 = 1.25)
  • 始终到最接近的X.50/1(1.23 = 1.50,1.83 = 2)
  • 始终至最接近的X.50/1(1.23 = 1,1.83 = 1.50)

我现在已经在Google上搜索了2个小时,唯一出现的就是Excel论坛.是否可以使用一些简单的PHP行?

php printf rounding floor ceil

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

字符串拆分,包括重音字符的单词

我正在使用这个正则表达式:

x.split("[^a-zA-Z0-9']+");
Run Code Online (Sandbox Code Playgroud)

这将返回带有字母和/或数字的字符串数组.

如果我用这个:

String name = "CEN01_Automated_TestCase.java";
String[] names = name.Split.split("[^a-zA-Z0-9']+");
Run Code Online (Sandbox Code Playgroud)

我有:

CEN01
Automated
TestCase
Java
Run Code Online (Sandbox Code Playgroud)

但如果我用这个:

String name = "CEN01_Automação_Caso_Teste.java";
String[] names = name.Split.split("[^a-zA-Z0-9']+");
Run Code Online (Sandbox Code Playgroud)

我有:

CEN01
Automa
o
Caso
Teste
Java
Run Code Online (Sandbox Code Playgroud)

如何修改此正则表达式以包含重音字符?(á,ã,õ等......)

java regex

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

OS X使用正则表达式数字在bash中查找\ d不会产生预期结果

我在OS X终端中使用以下regex find命令来查找整个加载的文件,这些文件具有8位数的文件名,后跟.jpg,.gif,.png或.eps扩展名.即使我告诉OS X/BSD发现使用现代正则表达式,下面也没有结果

find -E ./ -iregex '\d{8}'
Run Code Online (Sandbox Code Playgroud)

使用http://rubular.com/(http://rubular.com/r/YMz3J8Qlgh)显示正则表达式模式产生预期结果,OS X在输入时产生结果

find . -iname '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9].*'
Run Code Online (Sandbox Code Playgroud)

但这似乎有点长啰嗦.

regex macos bash terminal find

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

PHP类def:单独的访问器/ mutator或带有switch()的__set()?

在定义PHP类时,哪个是首选/最佳实践?我有什么关键差异吗?

看起来它可以更干净,简洁,更方便地编写一个__set()魔术方法,并switch()在其中放置一个构造,其中包含我想要允许访问的所有私有成员的案例.它不会从类内部自动调用,但是也不会再调用setFoo(),所以如果我想在内部使用accessor/mutator,我必须以任何方式显式调用方法.

另一个区别是,在类外部的代码中,我总是可以以与$obj->foo公共(直接)或私有(使用__set())相同的方式访问成员变量,而不是使用许多单独的方法.

我想这主要归结为审美选择.例如,如果我有购买的地址数据,我不希望有16个或更多单独的访问者方法,仅用于名字,姓氏,地址1,地址2,城市,州等,每个用于运送和账单数据.

我忽略了哪些关键差异?(一个复杂的IDE可能拒绝在课外自动完成一个成员名称,因为它被标记为私有?)我几乎回答了我自己的原始问题吗?提前感谢您的意见.

php oop coding-style

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

PHP - 多个while($ row = mysql_fetch_array($ variable)){}错误

好的,我的语法可能没有代码就可以描述.基本上它应该很容易......但绝不是.

我连续有2个循环......基本上是一样的.我从我的数据库中选择*每个变量,然后我需要基于两个sep构建一个2层的javascript.变量.

所以

我有:

while ($row = mysql_fetch_array($myVariable)) {

// do events

}
Run Code Online (Sandbox Code Playgroud)

然后呢

while ($row2 = mysql_fetch_array($myVariable)) {

// do events

}
Run Code Online (Sandbox Code Playgroud)

由于某种原因它在第二个完全返回NOTHING ...是否有一些我需要重置我的阵列,它可能结束然后我不能只是重新启动.这是一个基本问题,但我无法弄清楚我的生活还有什么不对.那就是问题,这是一个普遍的问题,就是连续两次这样做,并且期望PHP每次都在$ myVariable的开头重新开始,它保存了我的SELECT语句?

谢谢......将全天检查并根据需要进行更新.Stack Overflow的第一个计时器我很乐意看到帮助.

php mysql while-loop

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

搜索并替换正则表达式和崇高文本

我需要找到以下模式的所有实例:

<(h1|p) class="veronaText hidden" (.*?)>(Answer:|)</(h1|p)>
Run Code Online (Sandbox Code Playgroud)

并替换它以添加ID和额外的类.如何更换它以保持其当前格式和属性(h1或p等)?

regex full-text-search replace sublimetext

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

使用HTML嵌入代码替换文本中的YouTube网址

如果在字符串中找到,此功能会嵌入youtube视频.

我的问题是什么是最简单的方法来捕获嵌入的视频(iframe,只有第一个,如果还有更多)并忽略其余的字符串.

function youtube($string,$autoplay=0,$width=480,$height=390)
{
preg_match('#(v\/|watch\?v=)([\w\-]+)#', $string, $match);
  return preg_replace(
    '#((http://)?(www.)?youtube\.com/watch\?[=a-z0-9&_;-]+)#i',
    "<div align=\"center\"><iframe title=\"YouTube video player\" width=\"$width\" height=\"$height\" src=\"http://www.youtube.com/embed/$match[2]?autoplay=$autoplay\" frameborder=\"0\" allowfullscreen></iframe></div>",
    $string);
}
Run Code Online (Sandbox Code Playgroud)

php regex

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

为什么非逐字字符串不能包含换行符?

我开始学习C#,我不明白为什么常规字符串文字(即" ")不能包含文字换行符.(我不是在谈论逃脱序列\n).我知道你必须@" "对多行字符串使用逐字字符串文字(即),但为什么呢?

常规字符串生成 逐字字符串不会产生错误

我没有看到它明确声明你不能在常规字符串中使用它们.更重要的是,除了传递中我可以使用逐字字符串的地方,我读过的所有内容似乎都表明在常规字符串文字中允许使用文字换行符.

从Visual C#2010代码开始:生成多行字符串文字(Visual C#)显示逐字多行字符串的示例,无需进一步说明.

学习C#3.0说:

在C#语言中,空格,制表符和换行符被认为是空格....在C#语句中通常会忽略额外的空格....此规则的例外是字符串中的空格被视为文字; 它不被忽视.

这是字面上的吗?这也是我所期望的,但事实并非如此.
它甚至包括这个提示框:

提示
Visual Basic程序员注意到:在C#中,行尾没有特殊意义.语句以分号结束,而不是换行符.没有行继续符,因为不需要.

(我意识到这是在字符串之外讨论,但是如果字符串不在字符串之外,为什么行尾会字符串中有特殊的解析意义?)

终于找到了我的方式(C#Reference)本身,我仍然没有获得任何见解:

字符串文字可以包含任何字符文字.包括转义序列.以下示例\\对反斜杠,\u0066字母f和\n换行使用转义序列.

它说可以使用转义序列,但它并没有说它们必须被使用.字面换行字符是否未包含在"任何字符文字"中?如果我有一个包含文字制表符而不是其转义序列的字符串,\t则没有错误.但是,如果我有一个文字换行符,我会收到一个错误.我甚至改变了文件的行结束\r\n\n\r没有效果.


显然,我能够从示例和Visual Studio错误推断,如果它包含一个文字换行符,则需要一个逐字字符串,但我读过的所有内容都表明不应该是这种情况.为什么不同?

c# string

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