问题列表 - 第14298页

SPLFileObject next()行为

在PHP中,SPLFileObject允许将文件视为迭代器.

然而,有一种我不理解的行为.当您在对象上调用next()时,它会增加key()的值,但不会使文件中的行前进,除非您在每次迭代时调用current().SPL文档声明key()返回当前行号.

代码重现:

的test.txt

0
1
2
3
Run Code Online (Sandbox Code Playgroud)

iterator.php

<?php
$fi = new SPLFileObject('test.txt');
echo $fi->current() . "\n"; // prints 0
echo $fi->key() . "\n"; //prints 0
$fi->next();
$fi->next();
$fi->next();
echo $fi->current() . "\n"; // prints 1, expecting 3
echo $fi->key() . "\n"; //prints 3
Run Code Online (Sandbox Code Playgroud)

从我所看到的,下一个不是在这个部分工作.如果我这样使用它会提前:

iterator_fix.php

<?php
$fi = new SPLFileObject('test.txt');
echo $fi->current() . "\n"; // prints 0
echo $fi->key() . "\n"; //prints 0
$fi->next();
$fi->current();
$fi->next();
$fi->current();
$fi->next();
echo $fi->current() . "\n"; // prints 3 as expected
echo …
Run Code Online (Sandbox Code Playgroud)

php spl

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

连接表(没有子句)

我想加入表并获得以下输出

表格1

TestId1
----------
one
two
three
four
five
six
seven
eight
Run Code Online (Sandbox Code Playgroud)

表2

TestId2
----------
fiftythree
fiftyfour
fiftytwo
fiftyfive
fiftyone
Run Code Online (Sandbox Code Playgroud)

我希望Table3作为我的输出,包含table1中的所有行和table2中的第一行,直到没有剩下的行,然后它们应该开始重复.

作为替代答案,它们也可以随机分配.

TestId1        TestId2   
----------     ----------
one           fiftythree
two           fiftyfour 
three         fiftytwo  
four          fiftyfive 
five          fiftyone  
six           fiftythree
seven         fiftyfour 
eight         fiftytwo  
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server sql-server-2005

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

如何从mysql中的数据行中删除换行符?

我可以遍历php脚本中的所有行并执行

UPDATE mytable SET title = "'.trim($row['title']).'" where id = "'.$row['id'].'";

和修剪可以删除\n

但我只是想知道在一个查询中是否可以做同样的事情?

 update mytable SET title = TRIM(title, '\n') where 1=1
Run Code Online (Sandbox Code Playgroud)

它会起作用吗?然后我可以执行此查询而无需循环!

谢谢

(PS:我可以测试它,但是表格非常大,不想弄乱数据,所以只是想想你以前是否测试过这样的东西)

mysql trim

80
推荐指数
5
解决办法
12万
查看次数

SQL中"LIKE"和"="之间有什么区别?

之间有什么区别:

SELECT * FROM users WHERE username="davyjones"
Run Code Online (Sandbox Code Playgroud)

SELECT * FROM users WHERE username LIKE "davyjones"
Run Code Online (Sandbox Code Playgroud)

(我想我已经搞砸了语法......原谅我,
我主要是桌面应用程序开发人员)

sql syntax comparator

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

Java类,其字段只能由其子类访问(没有getter/setter)?

我真正想要的是一个带有泛型构造函数的类,当调用子类的相同构造函数时,子类可以访问相同的字段.这是我想做的一个例子:

public abstract class Command{
    private Mediator m

    public Command(Mediator med){
       m = med;
    }

    abstract void exec();
}

public class FoobarCommand extends Command{
    public FoobarCommand(Mediator med){
        super(med);
    }

    public void exec(){
        med.doAFoobar()
    }
 }

public static void main(String[] args){
    Mediator m = new Mediator();
    Command c = new FoobarCommand(m);
    c.exec();
}
Run Code Online (Sandbox Code Playgroud)

显然这不起作用,因为FoobarCommand没有直接访问Mediator med.那么你将如何访问med领域?我不希望除了子类之外的任何人都可以访问它,并且"protected"不是一个选项,因为我希望人们能够创建自己的命令(显然这些命令在包之外).

java

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

如何在不使用OracleObjectMappingAttribute的情况下从Oracle UDT映射到ODP.NET?

我们的应用程序中的数据访问层将使用Oracle的UDT功能.我们只会将UDT对象传入和传出数据库.

目前,我们使用ODP.NET提供的函数生成自定义类(它创建了一个我们在代码库中真正不需要的真正可怕的类).

然后,我们使用单独的映射类将自定义类映射到我们的一个业务对象(并在保存时返回).

我想找到一个更好的方法来做到这一点.

我想我只是去处理生成的类,然后编写一个实现了IOracleCustomType的映射类.然后,From/ToCustomObject方法将从我的UDT映射到我的业务对象.但是,当我尝试它时,这会给我带来问题 - 我收到错误"对象属性未映射到自定义类型成员".看来这两个方法,我也需要我的映射类中的属性 - UDT中每个项目的一个属性.

例如,工作流UDT包含三个项目 - 状态,创建时间和创建时间.我的UDT很简单:

TYPE workflow_type AS OBJECT
(status                                  VARCHAR2(8)
,created_by                              VARCHAR2(30)
,created_datetime            DATE
);
Run Code Online (Sandbox Code Playgroud)

我希望它最终成为业务对象:

public class Workflow
{
    /// <summary>
    /// Gets the status of the workflow.
    /// </summary>
    /// <value>The status.</value>
    public string Status { get; private set; }

    /// <summary>
    /// Gets the Windows Logon Id of the user performing the action
    /// </summary>
    public string CreatedBy{ get; private set; }
    /// <summary>
    /// Gets the time of …
Run Code Online (Sandbox Code Playgroud)

.net c# oracle odp.net user-defined-types

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

VirtualBox和vmdk vmx文件

我在网上看到过提供特定Linux设置图像的人,他们将其作为VMDK/VMX文件或ISO文件提供.现在ISO似乎可以与VirtualBox一起使用,因为我可以告诉它安装CD/DVD驱动器并使用ISO而不是物理驱动器,但VMDK和VMX文件总是被列为与VMWare/VirtualBox一起使用.

那么如何在VirtualBox中使用这些文件呢?当我尝试设备导入向导时,它告诉我它只处理OVF文件.

(我正在使用Sun VirtualBox 3.0.4)

virtualization virtualbox

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

PHPUnit数据库扩展 - 如何拥有一个空数据集?

我想创建一个空的测试表.使用来自digitalsandwich的示例,我想要类似于:

require_once 'PHPUnit/Extensions/Database/TestCase.php';
class BankAccountDBTest extends PHPUnit_Extensions_Database_TestCase
{
    protected $pdo;

    public function __construct()
    {
        $this->pdo = new PDO('sqlite::memory:');
        BankAccount::createTable($this->pdo);
    }

    protected function getConnection()
    {
        return $this->createDefaultDBConnection($this->pdo, 'sqlite');
    }

    protected function getDataSet()
    {
        return $this->createFlatXMLDataSet(dirname(__FILE__).'/_files/empty-seed.xml');
    }

    public function testEmptyTableBehavior() 
    {
        // test stuff
    }
}
Run Code Online (Sandbox Code Playgroud)

我应该使用与createFlatXMLDataSet()不同的方法吗?要么???

phpunit dbunit

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

bash中的awk和printf

我想在过去5分钟内得到平均负荷的四舍五入.所以这是我的命令:

 uptime | awk -F, '{print $5}'|printf "%.0f\n"
Run Code Online (Sandbox Code Playgroud)

它似乎不正确,因为它总是给我0.

如果我试图在awk和printf之间使用变量作为中间,那么它是正确的

 avgload=$(uptime | awk -F, '{print $5}')

 printf "%.0f\n" $avgload
Run Code Online (Sandbox Code Playgroud)

我的第一次尝试有什么不对吗?

感谢致敬!

更新:

只是为了获得过去5分钟的平均负载,这是我的linux服务器(Kubuntu)的正常运行时间输出

$ uptime
13:52:19 up 29 days, 18 min, 15 users, load average: 10.02, 10.04, 9.58

在我的笔记本电脑(Ubuntu)上它是相似的

`$正常运行时间

13:53:58上3天,12:02,8个用户,平均负载:0.29,0.48,0.60`

这就是我参加第五场比赛的原因.

bash awk printf

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

tfs vs svn在WAN上的性能

有人请告诉我通过WAN的TFS与SVN的性能.我有一个场景,我们有多个团队建立在地理位置.有人可以帮我决定使用什么?

我想知道更多关于TFS 2008性能的信息.从在互联网上阅读,我明白TFS 2005在WAN上真的很糟糕.但是想知道是否有人看到过TFS 2008性能的任何重大改进?

svn tfs

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