我有一个数组如下:
function example() {
/* some stuff here that pushes items with
dynamically created key strings into an array */
return array( // now lets pretend it returns the created array
'firstStringName' => $whatEver,
'secondStringName' => $somethingElse
);
}
$arr = example();
// now I know that $arr contains $arr['firstStringName'];
Run Code Online (Sandbox Code Playgroud)
我需要找出索引,$arr['firstStringName']
以便我能够循环array_keys($arr)
并'firstStringName'
通过其索引返回键字符串.我怎样才能做到这一点?
真正想知道但从未发现的东西是PHP的快捷方式.
我目前正在编写一个带有foreach
循环的函数,里面只有一个语句.我试图省略花括号,因为你可以在if/else控制结构中做,它可以工作.没有错误.
foreach($var as $value)
$arr[] = $value;
Run Code Online (Sandbox Code Playgroud)
现在我尝试以相同的方式使用它,但在其中放入一个if/else块.再次,工作,没有错误.
foreach($var as $value)
if(1 + 1 == 2) {
$arr[] = $value;
};
Run Code Online (Sandbox Code Playgroud)
然后,我想"为什么这有效?" 并省略了结束分号.还在工作.所以我尝试在foreach循环中使用if/else语句而没有花括号,并再次使用,仍然正常,没有错误.但是foreach循环现在真的关闭/结束了吗?
foreach($var as $value)
if(1 + 1 == 2)
$arr[] = $value;
Run Code Online (Sandbox Code Playgroud)
至少我再次省略了结束分号并且(正如预期的那样)发生了解析错误.
所以我的大问题是:我什么时候可以省略花括号和结构/循环/函数?我知道,我可以肯定地在这样做if
和else
.可是你知道while
,for
和foreach
?
是的,我知道这是不是安全,智能,无论到代码,而无需花括号,并有像速记$condition ? true : false;
和if: doSomething(); endif;
,endfor;
和endforeach;
.我不想了解shorthands我只想了解有关何时何地可以省略大括号的条件.
我需要在这里使用break还是会停止循环并返回一次?
for($i = 0; $i < 5; $i ++) {
if($var[$i] === '') return false;
// break;
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
<script>
var sample = function() {
(function() {
return "something"
})();
// how can I return it here again?
}
</script>
Run Code Online (Sandbox Code Playgroud)
有没有办法再次从父函数中的匿名函数返回返回值,还是需要使用已定义的函数来获取返回值?谢谢!:)
我想在不知道TypeScript中属性名称,值和值类型的情况下将属性分配给类的实例.让我们假设我们有以下example.ts
脚本:
// This could be a server response and could look totally diffent another time...
const someJson:string = '{ "foo": "bar", "bar": "baz" }'
class MyClass {
someProperty:boolean
constructor( json:string ) {
const parsedJson:any = JSON.parse( json )
Object.keys( parsedJson ).forEach(
( key:string ) => {
this[ key ] = parsedJson[ key ]
}
)
this['someProperty'] = true
}
}
const myInstance = new MyClass( someJson )
// Works fine, logs `true`.
console.log( myInstance.someProperty )
// Error: Property …
Run Code Online (Sandbox Code Playgroud) 我需要返回一个转换为JSON对象的SimpleXML对象,以便在JavaScript中使用它.问题是任何具有值的对象都没有属性.
举个例子:
<customer editable="true" maxChars="9" valueType="numeric">69236</customer>
Run Code Online (Sandbox Code Playgroud)
变为SimpleXML对象:
"customer":"69236"
Run Code Online (Sandbox Code Playgroud)
@attributes
对象在哪里?
我有这段代码:
$conn = mysql_connect($host, $usr, $pwd);
Run Code Online (Sandbox Code Playgroud)
当MySQL访问被拒绝时,如何防止PHP打印错误消息?
我需要这个语法,但没有什么对我有用.
我试着$conn = mysql_connect($host, $usr, $pwd) or false;
和$conn = mysql_connect($host, $usr, $pwd) || false;
与以下内容:
try {
$conn = mysql_connect($host, $usr, $pwd);
if(!$conn) {
throw new Exception('Failed');
}
} catch(Exception $e) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
PHP始终打印连接失败的错误消息.但是如果它失败了,我只想返回false.
这个问题与特定的编程语言无关,但在涉及如何以"专业方式"构建项目目录的问题时,这一直让我感到困惑.
AFAIK bin
目录包含编译和压缩的可执行二进制文件,而src
目录包含原始源代码,build
目录包含未压缩的可执行文件(例如,用于本地执行).
根据此答案,该dist
目录包含压缩/存档的输出内容.但是,什么是之间的区别bin
和dist
呢?deploy
除了所有这些文件夹,文件夹包含什么?
最后:在哪里放置资产(图像,JSON,等等)?assets
还是vendor
?
我有以下Node.js模块/ npm包:
|- dist/
|- - requirejs/
|- - - [stuff in amd pattern ...]
|- - node/
|- - - index.js
|- - - submodules/
|- - - - submodule1.js
|- - - - [submodule2.js etc.]
|- package.json
|- README.md
Run Code Online (Sandbox Code Playgroud)
我可以dist/node/index.js
通过模块名称要求(因为我将它设置为package.json中的主入口点文件),如下所示:
var myModule = require('myModule');
Run Code Online (Sandbox Code Playgroud)
我想通过这样做来要求子模块(如在AMD模式中):
var mySubmodule = require('myModule/submodules/submodule1');
Run Code Online (Sandbox Code Playgroud)
这会在Node.js中引发错误.问题是,Node.js需要来自其dist/node/
子目录的主文件,但仍然将模块保存为工作目录.
假设存在以下结构:
|- dist/
|- - node/
|- - - index.js
|- submodules/
|- - submodule1.js
|- package.json
|- README.md
Run Code Online (Sandbox Code Playgroud)
现在做起require('myModule/submodules/submodule1')
作用.
问题:是否有任何设置/配置将"模块命名空间"或工作目录设置为主文件所在的目录,或者我是否真的需要将子模块文件夹放入项目根目录中,以使其无需访问做什么 …
如果我的脚本执行一个返回例如我不想使用或存储的巨大对象的函数,那么使用void运算符调用该函数会更好/更快/更少内存吗?或者它会降低性能,因为返回值只会被覆盖?
void myFunc();
Run Code Online (Sandbox Code Playgroud)
刚刚创建了一个测试:
php ×5
javascript ×4
return ×2
actionscript ×1
array-key ×1
arrays ×1
break ×1
class ×1
curly-braces ×1
for-loop ×1
foreach ×1
function ×1
if-statement ×1
java ×1
json ×1
mysql ×1
node-modules ×1
node.js ×1
npm ×1
object ×1
performance ×1
properties ×1
require ×1
scope ×1
simplexml ×1
tsc ×1
typescript ×1
void ×1
xml ×1