小编sha*_*uri的帖子

全局变量不在php中工作

我使用全局变量时遇到一些错误.我在全局范围内定义了一个$ var并尝试在函数中使用它但在那里无法访问它.请参阅以下代码以获得更好的解释:

文件a.php:

<?php

  $tmp = "testing";

  function testFunction(){
     global $tmp;
     echo($tmp);
  }
Run Code Online (Sandbox Code Playgroud)

那么关于如何调用这个函数.

文件b.php:

<?php
  include 'a.php'
  class testClass{
    public function testFunctionCall(){
        testFunction();
    }
  }
Run Code Online (Sandbox Code Playgroud)

使用以下命令调用上述'b.php':

$method = new ReflectionMethod($this, $method);
$method->invoke();
Run Code Online (Sandbox Code Playgroud)

现在所需的输出是'测试'但接收的输出是NULL.

在此先感谢您的帮助.

php php-5.4

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

运行T-Test时出现Python运行时错误

我正在调用一个python函数来从我的C++代码中计算"t-test".函数调用如下:

#include <iostream>
#include "Python.h"
#include "/usr/local/lib/python2.7/site-packages/numpy/core/include/numpy/arrayobject.h"

#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION

int main(int argc, char** argv)
{
    Py_Initialize();

    PyRun_SimpleString("import sys");
    PyRun_SimpleString("sys.path.append(\"PATH_TO_MOD\")");
    PyObject *pName = PyString_FromString("tmpPyth");
    PyObject *pModule = PyImport_Import(pName);


    double arr[] ={9.74219, 10.2226, 8.7469, 8.69791, 9.96442, 9.96472, 9.37913, 9.75004};
    double arr1[] ={9.74219, 10.2226, 8.7469, 8.69791, 9.96442, 9.96472, 9.37913, 9.75004};

    PyObject *lst = PyList_New(8);
    PyObject *lst1 = PyList_New(8);
    // if (!lst)
    //     return NULL;
    for (int i = 0; i < 8; i++) {
        PyObject *num = PyFloat_FromDouble(arr[i]);
        PyObject *num1 = PyFloat_FromDouble(arr1[i]); …
Run Code Online (Sandbox Code Playgroud)

c++ python numpy

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

从 C++ 调用 Python 函数

我正在尝试从我的 cpp 文件调用 python 模块函数。

我打的电话如下:

#include <iostream>
#include "Python.h"

int
main(int argc, char** argv)
{
    Py_Initialize();
    PyObject *pName = PyString_FromString("tmpPyth");
    PyObject *pModule = PyImport_Import(pName);
    std::cout<< "Works fine till here";
    PyObject *pDict = PyModule_GetDict(pModule);
    if (pModule != NULL) {
        PyObject *pFunc = PyObject_GetAttrString(pDict, "pyFunc");

        if(pFunc != NULL){
            PyObject_CallObject(pFunc, NULL);
        }
    }
    else
        std::cout << "Python Module not found";
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我的python模块定义如下:

import numpy
import scipy
import matplotlib

from scipy import stats
def blah():
        baseline = [9.74219, 10.2226, 8.7469, 8.69791, …
Run Code Online (Sandbox Code Playgroud)

c++ python

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

标签 统计

c++ ×2

python ×2

numpy ×1

php ×1

php-5.4 ×1