2014-11-20 3 views
0

Я разработал одну утилиту в C++, которая имеет некоторый класс и возвращаемый векторный массив. Мне нужно манипулировать массивом C++ Vector в Php, вызывая функцию C++.Как манипулировать векторным массивом C++ в PHP-коде?

C++ код:

class SampleCode 
{ 
    vector <string> vecarray; 
    public: 
    void setdata() 
    { 
    for (int i = 0; i < 100; i++) 
    { 
      vecarray.push_Back("This is line number "+ (i+1)); 
    } 
    } 

    vector <string> getdata() 
    { 
    return vecarray; 
    } 
}; 

Php Код:

// Необходимо получить здесь C++ массив и нужно форматировать результат в таблице.

Как это можно реализовать в Php?

+0

Как насчет того, что вы пишете PHP-расширение, которое связывает PHP с вашей утилитой C++ ... –

+0

Может ли вы отправить какой-либо пример или ссылку на пример, сделав то же самое. Поскольку мне нужно немного обновить PHP, мне это сложно. – Manish

+0

Я никогда раньше не писал PHP-расширение на C++, но я думаю, что я прав, говоря, что [php-cpp] (http://www.php-cpp.com/) способен достаточно и довольно легко (из того, что я видел в документах). Все, что вам действительно нужно знать, это то, как 'zval' хранит строку (получаем' char * 'с помощью макроса' Z_STRVAL', затем преобразует его в 'std :: string' и нажимает на вектор. вещь может быть сделана для создания zval из вектора: создайте хэш-таблицу (== 'array()') и преобразуйте каждую 'std :: string' в' zval' –

ответ

0

Вы можете использовать Swig для управления своими объектами/функциями в C++ с PHP. Я никогда не пробовал с PHP как язык выхода, но он в списке.

Смежные вопросы