小编Art*_*cto的帖子

数组基于相同键的值总和

我有我的数组数据,如下所示:

Array ( 
  [0] => Array ( [name] => Bank BRI [amount] => 0 ) 
  [1] => Array ( [name] => Bank BRI [amount] => 0 ) 
  [2] => Array ( [name] => Bank BCA [amount] => 1412341234 )
  [3] => Array ( [name] => Bank CIMB Niaga [amount] => 532532552 ) 
  [4] => Array ( [name] => Bank BRI [amount] => 34534534 ) 
  [5] => Array ( [name] => Bank CIMB Niaga [amount] => 453425243 ) 
  [6] => Array …
Run Code Online (Sandbox Code Playgroud)

php arrays sum

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

Win32 PHP扩展开发

为PHP创建可加载的DLL模块扩展的第一步是什么,以便在Windows上为我自己的库创建本机支持?

是否需要在Windows上重新编译PHP?需要什么工具?我不想使用exec和命令行.

php dll module php-extension

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

Netbeans + Xdebug + php无法正常工作

我的netbeans使用xdebug不能使用断点,我的配置看起来是正确的,所以我第一次配置我第一次停止调试从那时起从未工作,有人有这个问题吗?我的netbeans的版本是6.8,php的版本是2.5.2.

我的php.ini:

zend_extension_ts = d:\wamp\bin\php\php5.2.5\ext\php_xdebug-2.0.2-5.2.5.dll
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.idekey=netbeans-xdebug
xdebug.profiler_enable=1
Run Code Online (Sandbox Code Playgroud)

php netbeans xdebug

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

SoapClient抛出了错误的版本

当我发送下面的请求时,我得到'错误的版本'例外.

<OTA_HotelGetMsgRQ xmlns="http://www.opentravel.org/OTA/2003/05"
    TimeStamp="2001-12-17T09:30:47.0Z" Version="4"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Messages>
        <Message HotelCode="123" HotelName="Test Hotel" ChainCode="321"
            ReasonForRequest="Reservation Retrieval" RequestCode="Optional"
            ChainName="Test Chain" MessageType="All" StartSeqNmbr="1"
            EndSeqNmbr="10" />
    </Messages>
</OTA_HotelGetMsgRQ>
Run Code Online (Sandbox Code Playgroud)

上面的请求被转换为zend代码

$client = new zend_soap_client(null,
        array(
                'location' => 'http://url...',
                'Uri' =>"http://www.opentravel.org/OTA/2003/05"
        )
);

$request = array(
        array('Messages'=> 
                array ('Message' => 
                        array (
                                'HotelCode' => '123',
                                'HotelName' => 'Test Hotel',
                                'ChainCode' => '321',
                                'ReasonForRequest' => 'Reservation Retrieval',
                                'RequestCode' => 'Optional',
                                'ChainName' => 'Test Chain',
                                'MessageType' => 'All',
                                'StartSeqNmbr' => '1',
                                'EndSeqNmbr' => '10'
                        )
                )
        )
);

$result …
Run Code Online (Sandbox Code Playgroud)

php zend-framework

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

如何使用debug,TS编译PHP 5.3.6的php扩展

我试图创建一些PHP扩展.

对于第一个我编php 5.3.6--enable-debug --enable-maintainer-zts.然后我停止了我的扩展并使用标准程序

phpize
./configure --with-EXTNAME
make
Run Code Online (Sandbox Code Playgroud)

然后复制extname.so到我的php扩展目录,并进行更改php.ini

当我尝试从cli使用php时出现错误

Unable to initialize module
Module compiled with build ID=API20090626,NTS
PHP    compiled with build ID=API20090626,TS,debug
Run Code Online (Sandbox Code Playgroud)

当我尝试

./configure --enable-debug --enable-maintainer-zts
Run Code Online (Sandbox Code Playgroud)

对于扩展,我收到警告,配置脚本无法识别这些选项.

那么,我如何编译我的扩展以使用PHP编译我上面描述的选项编译而无需重新编译php本身?

php php-extension

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

SimpleXML SOAP响应命名空间问题

在花了几个沮丧的时间后,我要求你的帮助.

我试图从SOAP响应中获取特定节点的内容.

回应是

<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="<a href="http://www.w3.org/2003/05/soap-envelope">http://www.w3.org/2003/05/soap-envelope</a>"<xmlns:ns1="<a href="http://soap.xxxxxx.co.uk/">http://soap.xxxxxx.co.uk/</a>">
    <env:Body>
        <ns1:PlaceOrderResponse>
            <xxxxxOrderNumber></xxxxxOrderNumber>
            <ErrorArray>
                <Error>
                    <ErrorCode>24</ErrorCode>
                    <ErrorText>The+client+order+number+3002254+is+already+in+use</ErrorText>
                </Error>
                <Error>
                    <ErrorCode>1</ErrorCode>
                    <ErrorText>Aborting</ErrorText>
                </Error>
            </ErrorArray>
        </ns1:PlaceOrderResponse>
    </env:Body>
</env:Envelope>
Run Code Online (Sandbox Code Playgroud)

我试图找到<ErrorArray>的节点和子节点.由于包含名称空间的XML

$XmlArray   = new SimpleXMLElement($XmlStr);

foreach ($XmlArray->env:Envelope->env:Body->ns1:PlaceOrderResponse->ErrorArray->Error as $Error)
{
    echo $Error->ErrorCode."<br />";
}
Run Code Online (Sandbox Code Playgroud)

不起作用.我读了很多文章,比如

在这个网站上有大约20个问题,遗憾的是这些问题没有帮助.

甚至写作,

$XmlArray   = new SimpleXMLElement($XmlStr);

echo "<br /><br /><pre>\n";
print_r($XmlArray);
echo "<pre><br /><br />\n";
Run Code Online (Sandbox Code Playgroud)

SimpleXMLElement Object
(
)
Run Code Online (Sandbox Code Playgroud)

这让我想知道soap响应($ XmlStr)实际上是否是SimpleXMLElement的有效输入.

看来就行了

$XmlArray   = new SimpleXMLElement($XmlStr);
Run Code Online (Sandbox Code Playgroud)

没有做我期望的事情.

有关如何从上面的XML获取节点的任何帮助都将非常受欢迎.

显然,让它发挥作用(有一个工作的例子)是我在短期内所需要的,但如果有人能帮助我理解我所做错的话,从长远来看会更好.

干杯.斯图

php xml namespaces simplexml

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

创建自定义上传进度条

我已经看过所有上传进度条插件,小部件等等 - 它们都很糟糕.他们要么太笨重,有太多无用的代码,要么无法工作.

我想知道的是我可以在哪里阅读如何显示简单的上传进度指示器.大多数浏览器下面都有一个状态进度条,但在处理客户端时使用它并不是很专业.

浏览器如何做到这一点?我想知道浏览器如何工作的内部用于指示上传内容的状态,以便我可以使用PHP和jquery创建一些内容.

谢谢.

php upload jquery

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

将Zval转换为char*

我想将Zval转换为char*.我如何在我的PHP扩展中这样做?

php interpreter php-extension

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

使用SSH2 pecl扩展为Windows编译PHP的问题

首先,我不是程序员.我是一名网络管理员,他被要求为启用了SSH2的网页设计师编译PHP.

我一直在按照这个步骤编译PHP for Windows:https: //wiki.php.net/internals/windows/stepbystepbuild

要编译,我正在使用:Microsoft Visual C++ Studio 2008 Express Microsoft Windows SDK 6.1

我已经下载了SSH2所需的所有必需的和库.我已经提取并将它们放在'deps'文件夹中.我还下载了SSH2扩展代码并将其放在我在'x86'目录中创建的'pecl'文件夹中.

看起来编译器没有找到我添加的库.任何帮助将不胜感激!谢谢!

以下是尝试使用以下命令进行编译时出现的一些错误:

C:\php-sdk\php53dev\vc9\x86\php5.3-201107071830>configure --enable-cli --with-ss
h2
Run Code Online (Sandbox Code Playgroud)
Checking for library libjpeg_a.lib;libjpeg.lib ... <not found>
WARNING: gd not enabled; libraries and headers not found

Checking for zlib.h ...  <not found>
Checking for zlib.h ...  <not found>
WARNING: zip not enabled; libraries and headers not found


Checking for library libiconv_a.lib ... <not found>
Checking for library libiconv.lib ... <not found>
Checking for library …
Run Code Online (Sandbox Code Playgroud)

php windows ssh compilation php-extension

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

选择 git 提交的一部分

每次我想重写提交以仅保留差异的一部分时,我都会经历这个(从我的脑海中浮现出来,有些东西可能会消失):

git rebase -i COMMIT~1
Run Code Online (Sandbox Code Playgroud)

然后选择e修改。

git reset HEAD~1  
git add -p # select the part I want
git checkout HEAD -- :/ # discard changes not selected
git stash
git reset COMMIT
git checkout HEAD~1 -- :/
git commit -u --amend
git stash pop
git commit --amend
git rebase --continue
Run Code Online (Sandbox Code Playgroud)

显然,这是一个糟糕的工作流程。问题是重置允许我选择我想要的更改,但是通过将 HEAD 向后移动,我将无法修改相关提交。

我尝试git checkout HEAD~1 -- :/在提交时执行一次我想要修改的操作并选择反向差异,但它只是变得令人困惑。

有什么更好的选择?

git

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