我有一个关于PHP以及指针和变量的使用的问题.
以下代码产生了我不希望的东西:
<?php
$numbers = array('zero', 'one', 'two', 'three');
foreach($numbers as &$number)
{
$number = strtoupper($number);
}
print_r($numbers);
$texts = array();
foreach($numbers as $number)
{
$texts[] = $number;
}
print_r($texts);
?>
Run Code Online (Sandbox Code Playgroud)
输出如下
Array
(
[0] => ZERO
[1] => ONE
[2] => TWO
[3] => THREE
)
Array
(
[0] => ZERO
[1] => ONE
[2] => TWO
[3] => TWO
)
Run Code Online (Sandbox Code Playgroud)
注意'TWO'在第二个数组中出现两次.
似乎两个foreach循环之间存在冲突,每个循环都声明一个$ number变量(一次是引用,另一次是值).
但为什么 ?为什么它只影响第二个foreach中的最后一个元素?
是否有可能知道何时从远程存储库中提取某个提交并且使用Mercurial更新了文件?
更准确地说,我hg pull -u几天前做了一个,现在我想知道这个拉动是否只下载了最后一次提交,或者是否有一些尚未提取的提交,让我的最后一次提取也是如此.
hg log似乎提供了提交的日期,但没有提及更新.这些信息在哪里?
我的数据库中有字段,其中包含字符串21;48;33;22;31.然后我想把它转换成数学计算21+48+33+22+31.
$points = "21;48;33;22;31";
$points = str_replace(";","+",$points );
$points = preg_replace('/[^0-9\+\-\*\/\s]+/', '', $points);
echo $points;
Run Code Online (Sandbox Code Playgroud)
但这根本行不通.我有相同的字符串"21 + 48 + 33 + 22 + 31"而不是总和.
我看过很多关于使用MySQL和存储过程的首字母大写的帖子.我尝试了所有这些,但没有人为我工作.以下是我试过的代码..
PlansController.php
$companies = $this->Plan->Company->find('list', array('conditions' => array('Company.status' => 'active'), 'fields' => array('Company.id','CONCAT(UCASE(LEFT(Company.name, 1)),SUBSTRING(Company.name, 2)) as name'))); //Getting Empty Dropdown
$companies = $this->Plan->Company->find('list', array('conditions' => array('Company.status' => 'active'), 'fields' => array('Company.id', 'UCASE(Company.name)'))); //Getting Empty Dropdown
$companies = $this->Plan->Company->find('list', array('conditions' => array('Company.status' => 'active'), 'fields' => array('Company.id', 'Company.name'))); //Getting Dropdown in view
Run Code Online (Sandbox Code Playgroud)
视图
<select name="data[Plan][company_id]" class="" id="PlanCompanyId">
<option value="">Please Select</option>
<option value="2">xyz abc</option>
<option value="1">lmd abc</option>
<option value="13">Abc ey</option>
<option value="12">sys abc</option>
</select>
Run Code Online (Sandbox Code Playgroud)
期待输出:
<select name="data[Plan][company_id]" class="" id="PlanCompanyId">
<option value="">Please Select</option> …Run Code Online (Sandbox Code Playgroud) 我试图让这种排序算法在数组中从大到小排序.这就是我所拥有的:
private void sort(int[] data) {
int min;
for (int index = 0; index < data.length - 1; index++) {
min = index;
for (int scan = index + 1; scan < data.length; scan++) {
if (data[scan] > data[min]) min = scan;
swap (data, min, index);
}
}
}
private void swap(int[] data, int pos0, int pos1) {
int temp = data[pos0];
data[pos0] = data[pos1];
data[pos1] = temp;
}
Run Code Online (Sandbox Code Playgroud)
输出是:
3 3 4 2 2 2 2 1 1 1 …Run Code Online (Sandbox Code Playgroud)